{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 项目：用线性回归预测房价数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分析目标"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据分析报告的目的是，基于已有的房屋销售价格，以及有关该房屋的属性，进行线性回归分析，从而利用得到的线性回归模型，能对以下未知售价的房屋根据属性进行价格预测：\n",
    "\n",
    "面积为6500平方英尺，有4个卧室、2个厕所，总共2层，不位于主路，无客人房，带地下室，有热水器，没有空调，车位数为2，位于城市首选社区，简装修。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 简介"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集`house_price.csv`记录了超过五百栋房屋的交易价格，以及房屋的相关属性信息，包括房屋面积、卧室数、厕所数、楼层数、是否位于主路、是否有客房，等等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`house_price.csv`每列的含义如下：\n",
    "- price：房屋出售价格\n",
    "- area：房屋面积，以平方英尺为单位\n",
    "- bedrooms：卧室数\n",
    "- bathrooms：厕所数\n",
    "- stories：楼层数\n",
    "- mainroad：是否位于主路\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- guestroom：是否有客房\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- basement：是否有地下室\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- hotwaterheating：是否有热水器\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- airconditioning：是否有空调\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- parking：车库容量，以车辆数量为单位\n",
    "- prefarea：是否位于城市首选社区\n",
    "   - yes  是\n",
    "   - no\t  否\n",
    "- furnishingstatus：装修状态\n",
    "   - furnished       精装\n",
    "   - semi-furnished\t 简装\n",
    "   - unfurnished     毛坯"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "导入数据分析所需要的库，并通过Pandas的`read_csv`函数，将原始数据文件\"house_price.csv\"里的数据内容，解析为DataFrame并赋值给变量`original_house_price`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>mainroad</th>\n",
       "      <th>guestroom</th>\n",
       "      <th>basement</th>\n",
       "      <th>hotwaterheating</th>\n",
       "      <th>airconditioning</th>\n",
       "      <th>parking</th>\n",
       "      <th>prefarea</th>\n",
       "      <th>furnishingstatus</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13300000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12250000</td>\n",
       "      <td>8960</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12250000</td>\n",
       "      <td>9960</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12215000</td>\n",
       "      <td>7500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>3</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11410000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      price  area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n",
       "0  13300000  7420         4          2        3      yes        no       no   \n",
       "1  12250000  8960         4          4        4      yes        no       no   \n",
       "2  12250000  9960         3          2        2      yes        no      yes   \n",
       "3  12215000  7500         4          2        2      yes        no      yes   \n",
       "4  11410000  7420         4          1        2      yes       yes      yes   \n",
       "\n",
       "  hotwaterheating airconditioning  parking prefarea furnishingstatus  \n",
       "0              no             yes        2      yes        furnished  \n",
       "1              no             yes        3       no        furnished  \n",
       "2              no              no        2      yes   semi-furnished  \n",
       "3              no             yes        3      yes        furnished  \n",
       "4              no             yes        2       no        furnished  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "original_house_price = pd.read_csv(\"house_price.csv\")\n",
    "original_house_price.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 评估和清理数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在这一部分中，我们将对在上一部分建立的`original_house_price`DataFrame所包含的数据进行评估和清理。\n",
    "\n",
    "主要从两个方面进行：结构和内容，即整齐度和干净度。\n",
    "\n",
    "数据的结构性问题指不符合“每个变量为一列，每个观察值为一行，每种类型的观察单位为一个表格”这三个标准；数据的内容性问题包括存在丢失数据、重复数据、无效数据等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "为了区分开经过清理的数据和原始的数据，我们创建新的变量`cleaned_house_price`，让它为`original_house_price`复制出的副本。我们之后的清理步骤都将被运用在`cleaned_house_price`上。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "cleaned_house_price = original_house_price.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据整齐度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>mainroad</th>\n",
       "      <th>guestroom</th>\n",
       "      <th>basement</th>\n",
       "      <th>hotwaterheating</th>\n",
       "      <th>airconditioning</th>\n",
       "      <th>parking</th>\n",
       "      <th>prefarea</th>\n",
       "      <th>furnishingstatus</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13300000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12250000</td>\n",
       "      <td>8960</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>3</td>\n",
       "      <td>no</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12250000</td>\n",
       "      <td>9960</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12215000</td>\n",
       "      <td>7500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>3</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11410000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>10850000</td>\n",
       "      <td>7500</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>10150000</td>\n",
       "      <td>8580</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>10150000</td>\n",
       "      <td>16200</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>no</td>\n",
       "      <td>unfurnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9870000</td>\n",
       "      <td>8100</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9800000</td>\n",
       "      <td>5750</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>1</td>\n",
       "      <td>yes</td>\n",
       "      <td>unfurnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>9800000</td>\n",
       "      <td>13200</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>9681000</td>\n",
       "      <td>6000</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>9310000</td>\n",
       "      <td>6550</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>1</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>9240000</td>\n",
       "      <td>3500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>furnished</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>9240000</td>\n",
       "      <td>7800</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>0</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       price   area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n",
       "0   13300000   7420         4          2        3      yes        no       no   \n",
       "1   12250000   8960         4          4        4      yes        no       no   \n",
       "2   12250000   9960         3          2        2      yes        no      yes   \n",
       "3   12215000   7500         4          2        2      yes        no      yes   \n",
       "4   11410000   7420         4          1        2      yes       yes      yes   \n",
       "5   10850000   7500         3          3        1      yes        no      yes   \n",
       "6   10150000   8580         4          3        4      yes        no       no   \n",
       "7   10150000  16200         5          3        2      yes        no       no   \n",
       "8    9870000   8100         4          1        2      yes       yes      yes   \n",
       "9    9800000   5750         3          2        4      yes       yes       no   \n",
       "10   9800000  13200         3          1        2      yes        no      yes   \n",
       "11   9681000   6000         4          3        2      yes       yes      yes   \n",
       "12   9310000   6550         4          2        2      yes        no       no   \n",
       "13   9240000   3500         4          2        2      yes        no       no   \n",
       "14   9240000   7800         3          2        2      yes        no       no   \n",
       "\n",
       "   hotwaterheating airconditioning  parking prefarea furnishingstatus  \n",
       "0               no             yes        2      yes        furnished  \n",
       "1               no             yes        3       no        furnished  \n",
       "2               no              no        2      yes   semi-furnished  \n",
       "3               no             yes        3      yes        furnished  \n",
       "4               no             yes        2       no        furnished  \n",
       "5               no             yes        2      yes   semi-furnished  \n",
       "6               no             yes        2      yes   semi-furnished  \n",
       "7               no              no        0       no      unfurnished  \n",
       "8               no             yes        2      yes        furnished  \n",
       "9               no             yes        1      yes      unfurnished  \n",
       "10              no             yes        2      yes        furnished  \n",
       "11             yes              no        2       no   semi-furnished  \n",
       "12              no             yes        1      yes   semi-furnished  \n",
       "13             yes              no        2       no        furnished  \n",
       "14              no              no        0      yes   semi-furnished  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price.head(15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据干净度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来通过`info`，对数据内容进行大致了解。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 545 entries, 0 to 544\n",
      "Data columns (total 13 columns):\n",
      " #   Column            Non-Null Count  Dtype \n",
      "---  ------            --------------  ----- \n",
      " 0   price             545 non-null    int64 \n",
      " 1   area              545 non-null    int64 \n",
      " 2   bedrooms          545 non-null    int64 \n",
      " 3   bathrooms         545 non-null    int64 \n",
      " 4   stories           545 non-null    int64 \n",
      " 5   mainroad          545 non-null    object\n",
      " 6   guestroom         545 non-null    object\n",
      " 7   basement          545 non-null    object\n",
      " 8   hotwaterheating   545 non-null    object\n",
      " 9   airconditioning   545 non-null    object\n",
      " 10  parking           545 non-null    int64 \n",
      " 11  prefarea          545 non-null    object\n",
      " 12  furnishingstatus  545 non-null    object\n",
      "dtypes: int64(6), object(7)\n",
      "memory usage: 55.5+ KB\n"
     ]
    }
   ],
   "source": [
    "cleaned_house_price.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从输出结果来看，cleaned_house_price共有545条观察值，变量不存在缺失值。\n",
    "\n",
    "数据类型方面，我们已知mainroad（是否位于主路）、guestroom（是否有客房）、basement（是否有地下室）、hotwaterheating（是否有热水器）、airconditioning（是否有空调）、prefarea（是否位于城市首选社区）、furnishingstatus（装修状态）都是分类数据，可以把数据类型都转换为Category。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "cleaned_house_price['mainroad'] = cleaned_house_price['mainroad'].astype(\"category\")\n",
    "cleaned_house_price['guestroom'] = cleaned_house_price['guestroom'].astype(\"category\")\n",
    "cleaned_house_price['basement'] = cleaned_house_price['basement'].astype(\"category\")\n",
    "cleaned_house_price['hotwaterheating'] = cleaned_house_price['hotwaterheating'].astype(\"category\")\n",
    "cleaned_house_price['airconditioning'] = cleaned_house_price['airconditioning'].astype(\"category\")\n",
    "cleaned_house_price['prefarea'] = cleaned_house_price['prefarea'].astype(\"category\")\n",
    "cleaned_house_price['furnishingstatus'] = cleaned_house_price['furnishingstatus'].astype(\"category\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 545 entries, 0 to 544\n",
      "Data columns (total 13 columns):\n",
      " #   Column            Non-Null Count  Dtype   \n",
      "---  ------            --------------  -----   \n",
      " 0   price             545 non-null    int64   \n",
      " 1   area              545 non-null    int64   \n",
      " 2   bedrooms          545 non-null    int64   \n",
      " 3   bathrooms         545 non-null    int64   \n",
      " 4   stories           545 non-null    int64   \n",
      " 5   mainroad          545 non-null    category\n",
      " 6   guestroom         545 non-null    category\n",
      " 7   basement          545 non-null    category\n",
      " 8   hotwaterheating   545 non-null    category\n",
      " 9   airconditioning   545 non-null    category\n",
      " 10  parking           545 non-null    int64   \n",
      " 11  prefarea          545 non-null    category\n",
      " 12  furnishingstatus  545 non-null    category\n",
      "dtypes: category(7), int64(6)\n",
      "memory usage: 30.3 KB\n"
     ]
    }
   ],
   "source": [
    "cleaned_house_price.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理缺失数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从`info`方法的输出结果来看，`cleaned_house_price`不存在缺失值，因此不需要对缺失数据进行处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理重复数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据数据变量的含义以及内容来看，允许变量重复，我们不需要对此数据检查是否存在重复值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理不一致数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "不一致数据可能存在于所有分类变量中，我们要查看是否存在不同值实际指代同一目标的情况。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "mainroad\n",
       "yes    468\n",
       "no      77\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"mainroad\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "guestroom\n",
       "no     448\n",
       "yes     97\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"guestroom\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "basement\n",
       "no     354\n",
       "yes    191\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"basement\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "hotwaterheating\n",
       "no     520\n",
       "yes     25\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"hotwaterheating\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "airconditioning\n",
       "no     373\n",
       "yes    172\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"airconditioning\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "prefarea\n",
       "no     417\n",
       "yes    128\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"prefarea\"].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "furnishingstatus\n",
       "semi-furnished    227\n",
       "unfurnished       178\n",
       "furnished         140\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price[\"furnishingstatus\"].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从以上输出结果来看，均不存在不一致数据。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 处理无效或错误数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以通过DataFrame的`describe`方法，对数值统计信息进行快速了解。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>5.450000e+02</td>\n",
       "      <td>545.000000</td>\n",
       "      <td>545.000000</td>\n",
       "      <td>545.000000</td>\n",
       "      <td>545.000000</td>\n",
       "      <td>545.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>4.766729e+06</td>\n",
       "      <td>5150.541284</td>\n",
       "      <td>2.965138</td>\n",
       "      <td>1.286239</td>\n",
       "      <td>1.805505</td>\n",
       "      <td>0.693578</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.870440e+06</td>\n",
       "      <td>2170.141023</td>\n",
       "      <td>0.738064</td>\n",
       "      <td>0.502470</td>\n",
       "      <td>0.867492</td>\n",
       "      <td>0.861586</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.750000e+06</td>\n",
       "      <td>1650.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>3.430000e+06</td>\n",
       "      <td>3600.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>4.340000e+06</td>\n",
       "      <td>4600.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>5.740000e+06</td>\n",
       "      <td>6360.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>1.330000e+07</td>\n",
       "      <td>16200.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>3.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              price          area    bedrooms   bathrooms     stories  \\\n",
       "count  5.450000e+02    545.000000  545.000000  545.000000  545.000000   \n",
       "mean   4.766729e+06   5150.541284    2.965138    1.286239    1.805505   \n",
       "std    1.870440e+06   2170.141023    0.738064    0.502470    0.867492   \n",
       "min    1.750000e+06   1650.000000    1.000000    1.000000    1.000000   \n",
       "25%    3.430000e+06   3600.000000    2.000000    1.000000    1.000000   \n",
       "50%    4.340000e+06   4600.000000    3.000000    1.000000    2.000000   \n",
       "75%    5.740000e+06   6360.000000    3.000000    2.000000    2.000000   \n",
       "max    1.330000e+07  16200.000000    6.000000    4.000000    4.000000   \n",
       "\n",
       "          parking  \n",
       "count  545.000000  \n",
       "mean     0.693578  \n",
       "std      0.861586  \n",
       "min      0.000000  \n",
       "25%      0.000000  \n",
       "50%      0.000000  \n",
       "75%      1.000000  \n",
       "max      3.000000  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cleaned_house_price.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从以上统计信息来看，`cleaned_house_price`里不存在脱离现实意义的数值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 探索数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在着手推断统计学分析之前，我们可以先借助数据可视化，探索数值变量的分布，以及与房价存在相关性的变量，为后续的进一步分析提供方向。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "sns.set_palette(\"pastel\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 房价分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams[\"figure.figsize\"] = [7.00, 3.50]\n",
    "plt.rcParams[\"figure.autolayout\"] = True\n",
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='price', ax=axes[0])\n",
    "sns.boxplot(cleaned_house_price, y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "房价呈右偏态分布，说明数据集中的大多数房子价格中等，但有一些价格很高的极端值，使得均值被拉高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 面积分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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v64rRqVSmWWxXH3etZ3z/dekoKDApL2yshKFhYWNcm2r281R165d0b59e1y5cgUAryUREdUfC1kzV1JSgp9//hkdO3bEoEGDYGVlhcTERLE9Ozsbubm58PX1BQD4+vri/PnzJoVEQkICVCoVevXqJcbcf4zqmOpjmButVguNRmNyzgaDAenp6SbXraioCBkZGWLMsWPHYDQa4ePjI8akpKSgoqJCjElISEDPnj3Rrl07MaY1XVsAuH79Om7evImOHTsC4LUkIqIGkPpuM2pc7777rpCUlCTk5OQI33//veDn5ye0b99eKCgoEARBEN58802hc+fOwrFjx4TTp08Lvr6+gq+vr/j+yspKoU+fPoK/v7+QmZkpxMfHCx06dBDmz58vxly9elVo06aNMGfOHOHSpUvC5s2bBQsLCyE+Pr7Zz7ex3L59Wzh79qxw9uxZAYCwZs0a4ezZs8K1a9cEQRCEjz76SHB0dBS+/PJL4dy5c8L48eMFrVYr3LlzRzxGQECAMGDAACE9PV04fvy40KNHD2HKlClie1FRkeDq6ipMnTpVyMrKEnbv3i20adNG+Oc//ynGfP/994KlpaWwatUq4dKlS8KiRYsEKysr4fz58813MR7Tw67l7du3hf/4j/8Q0tLShJycHOGbb74RBg4cKPTo0UO4e/eueAxeSyIiqg8WsmZm0qRJQseOHQVra2vhiSeeECZNmiRcuXJFbL9z547w9ttvC+3atRPatGkjvPjii8Jvv/1mcoxffvlFGDVqlGBnZye0b99eePfdd4WKigqTmG+//Vbo37+/YG1tLXTt2lXYvn17c5xek/n2228FADW2adOmCYJwbwmuhQsXCq6uroKNjY0wcuRIITs72+QYN2/eFKZMmSK0bdtWUKlUwquvvircvn3bJOaHH34QhgwZItjY2AhPPPGE8NFHH9XIZc+ePcKTTz4pWFtbC7179xYOHTrUZOfdFB52Lf/44w/B399f6NChg2BlZSV4eHgI06dPN1nuTRB4LYmIqH4UgiAI0owFExERERE9Os6RJSIiIiJZYiFLRERERLLEQpaIiIiIZImFLBERERHJEgtZIiIiIpIlFrJEREREJEssZImIiIhIlljIEhEREZEssZAlIiIiIlliIUtEREREssRCluh/VVRUSJ0CERERNQALWTJb8fHxGDJkCBwdHeHs7IwxY8bg559/BgD88ssvUCgU+OKLLzB8+HDY2toiLi4OAPDJJ5/Ay8sLtra28PT0xMcff2xy3Hnz5uHJJ59EmzZt0LVrVyxcuJBFMBERkQQspU6AqKmUlpYiIiIC3t7eKCkpQWRkJF588UVkZmaKMe+99x5Wr16NAQMGiMVsZGQkNm3ahAEDBuDs2bOYPn067O3tMW3aNACAg4MDYmNj4ebmhvPnz2P69OlwcHDA3LlzJTpTIiKi1kkhCIIgdRJEzeHf//43OnTogPPnz6Nt27bQarVYt24d3nnnHTGme/fuWLZsGaZMmSLuW758OQ4fPozU1NRaj7tq1Srs3r0bp0+fbvJzICIiov/DQpbM1uXLlxEZGYn09HT8+9//htFoRGlpKQ4dOoRevXpBq9Xi+PHjeO655wDcG8Ft27Yt7OzsoFT+36ybyspKqNVq5OfnAwC++OILbNiwAT///DNKSkpQWVkJlUqFgoICSc6TiIioteLUAjJbY8eOhYeHB7Zt2wY3NzcYjUb06dMH5eXlYoy9vb34c0lJCQBg27Zt8PHxMTmWhYUFACAtLQ3BwcFYsmQJdDod1Go1du/ejdWrVzfDGREREdH9WMiSWbp58yays7Oxbds2DB06FABw/Pjxh77H1dUVbm5uuHr1KoKDg2uNSU1NhYeHB95//31x37Vr1xovcSIiIqo3FrJkltq1awdnZ2ds3boVHTt2RG5uLt57770637dkyRLMmjULarUaAQEBKCsrw+nTp3Hr1i1ERESgR48eyM3Nxe7du/HUU0/h0KFD2LdvXzOcEREREf0Zl98is6RUKrF7925kZGSgT58+mD17NlauXFnn+15//XV88skn2L59O/r27Yvhw4cjNjYWWq0WADBu3DjMnj0bYWFh6N+/P1JTU7Fw4cKmPh0iIiKqBW/2IiIiIiJZ4ogsEREREckSC1kiIiIikiUWskREREQkSyxkiYiIiEiWWMgSERERkSyxkCUiIiIiWWIhS0RERESyxEKWiIiIiGSJhSwRERERyRILWSIiIiKSJRayRERERCRLLGSJiIiISJb+P8A0bWo5djpMAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='area', ax=axes[0])\n",
    "sns.boxplot(cleaned_house_price, y='area', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "面积的分布与房价相似，也呈右偏态分布。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 房价与面积的关系"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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phV6V0oGz9nY8LxljucsczxnY8Pzljmes8yV8jkbd5O9iIiIiKg8MCNLRERERCWJgSwRERERlSQGskRERERUkhjI5sjGjRuxZMkSTJgwAfX19bj00kvx9ttvx20zPDyMq6++GlOmTEF1dTX+y3/5Lzh8+HDcNl1dXbjoootQWVmJ+vp6XH/99YhEInHbPPfcczjzzDOhaRpmzZqFBx98MNeHlxe33XYbJEnCN77xjehtPGfODh48iL/927/FlClTUFFRgQULFmDbtm3R+4UQuPnmm9HU1ISKigqsXr0ae/fujXuOY8eOYe3ataipqcHEiRPxxS9+Ef39/XHbvPHGG1i5ciUCgQBaWlrwox/9KC/Hl22GYeCmm25CR0cHKioqMHPmTHzve9+LWw6R5wx4/vnncfHFF6O5uRmSJOHRRx+Nuz+f5+h3v/sd5s6di0AggAULFuCJJ57I+vFmg9c5C4fDuOGGG7BgwQJUVVWhubkZV155JT788MO45+A5e9R126985SuQJAmbNm2Ku328nTMgvfO2e/dufOpTn0JtbS2qqqqwZMkSdHV1Re8vi2uqoJxYs2aN+OUvfynefPNNsXPnTvGJT3xCtLa2iv7+/ug2X/nKV0RLS4vYvHmz2LZtm1i2bJk455xzovdHIhExf/58sXr1arFjxw7xxBNPiLq6OrF+/froNu+9956orKwU69atE2+99Zb46U9/KhRFEU8++WRejzfbXnnlFdHe3i5OP/10ce2110Zv5zlLduzYMdHW1ib+7u/+TmzdulW899574qmnnhL79u2LbnPbbbeJ2tpa8eijj4rXX39dfOpTnxIdHR1iaGgous3HP/5xsXDhQvHyyy+LF154QcyaNUtcfvnl0ft7e3tFQ0ODWLt2rXjzzTfFb37zG1FRUSH+1//6X3k93my49dZbxZQpU8S//du/if3794vf/e53orq6Wtx5553RbXjOhHjiiSfEt7/9bfHII48IAOL3v/993P35Okd/+tOfhKIo4kc/+pF46623xHe+8x3h9/vFrl27cn4OMuV1zk6cOCFWr14tHn74YbFnzx6xZcsWcfbZZ4uzzjor7jl4zn7vuN0jjzwiFi5cKJqbm8U//uM/xt033s6ZEKnP2759+8TkyZPF9ddfL1577TWxb98+8dhjj4nDhw9HtymHayoD2Tw5cuSIACD++Mc/CiGsLzS/3y9+97vfRbfZvXu3ACC2bNkihLA+pLIsi+7u7ug2d999t6ipqRG6rgshhPjWt74lTjvttLjXuuyyy8SaNWtyfUg509fXJ2bPni2efvppce6550YDWZ4zZzfccIP4yEc+4nq/aZqisbFR/PjHP47eduLECaFpmvjNb34jhBDirbfeEgDEq6++Gt3m3//934UkSeLgwYNCCCF+/vOfi0mTJkXPo/3ap5xySrYPKecuuugi8YUvfCHutr/+678Wa9euFULwnDlJvFDm8xx99rOfFRdddFHc/ixdulT89//+37N6jNnmFZTZXnnlFQFAdHZ2CiF4ztzO2QcffCCmTZsm3nzzTdHW1hYXyI73cyaE83m77LLLxN/+7d+6PqZcrqksLciT3t5eAMDkyZMBANu3b0c4HMbq1auj28ydOxetra3YsmULAGDLli1YsGABGhoaotusWbMGwWAQf/7zn6PbxD6HvY39HKXo6quvxkUXXZR0XDxnzv7whz9g8eLF+MxnPoP6+nosWrQI9913X/T+/fv3o7u7O+6Ya2trsXTp0rjzNnHiRCxevDi6zerVqyHLMrZu3RrdZtWqVVBVNbrNmjVr8Pbbb+P48eO5PsysOuecc7B582a88847AIDXX38dL774Ii688EIAPGfpyOc5Kre/2Vi9vb2QJAkTJ04EwHPmxDRNXHHFFbj++utx2mmnJd3Pc5bMNE08/vjjmDNnDtasWYP6+nosXbo0rvygXK6pDGTzwDRNfOMb38CKFSswf/58AEB3dzdUVY1+edkaGhrQ3d0d3Sb2w2Pfb9/ntU0wGMTQ0FAuDienHnroIbz22mvYuHFj0n08Z87ee+893H333Zg9ezaeeuopfPWrX8XXv/51/PM//zOA0eN2OubYc1JfXx93v8/nw+TJkzM6t6XixhtvxN/8zd9g7ty58Pv9WLRoEb7xjW9g7dq1AHjO0pHPc+S2Tamfw+HhYdxwww24/PLLo+vb85wl++EPfwifz4evf/3rjvfznCU7cuQI+vv7cdttt+HjH/84/uM//gOf/vSn8dd//df44x//CKB8rqm+nL8C4eqrr8abb76JF198sdC7UtTef/99XHvttXj66acRCAQKvTslwzRNLF68GD/4wQ8AAIsWLcKbb76Je+65B1dddVWB9644/fa3v8WvfvUr/PrXv8Zpp52G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",
      "text/plain": [
       "<Figure size 700x350 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(cleaned_house_price, x='area', y='price')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从散点图来看，能大致看出一些正相关关系，但关系的强度需要后续通过计算相关性来得到。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 卧室数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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evjhh+Xt7a1XX321Xs8HAAAA9cfUIJuRkeG0np6erpCQEGVnZ+umm25ybG/WrJnCwsIqPcb69et14MABbdy4UaGhoerdu7deeuklTZs2TTNnzpSPj0+dngMAWNGJEyc0bdo0rV27Vj/99JOuv/56LVmyRH379jW7NABuzp3mJrvVUwsKCwslScHBwU7b//rXv6pVq1bq0aOHUlJS9NNPPzn2ZWVlqWfPngoNDXVsGzFihIqKirR///5KP8dut6uoqMhpAYDG4scff9SgQYPk7e2ttWvX6sCBA5o7d65atGhhdmkALODS3OT8/HxHoDWL29zsVVFRoSlTpmjQoEHq0aOHY/sDDzygqKgoRUREaM+ePZo2bZoOHTqkjz76SJKUl5fnFGIlOdbz8vIq/azU1FTNmjWrjs4EANzba6+9psjISC1ZssSxrX379iZWBADV4zZBNjExUfv27dMXX3zhtP3JJ590vO7Zs6fCw8M1bNgwHT16VB07dqzWZ6WkpCg5OdmxXlRUpMjIyOoVDgAW88knn2jEiBEaP368MjMzdd111+mZZ57RxIkTzS4NAFziFlMLkpKStGbNGn3++edq06bNVcf2799fknTkyBFJUlhY2GWP3ri0fqV5tTabTQEBAU4LADQW//rXv5SWlqZOnTpp3bp1evrpp/Xss8/qgw8+qHQ807EAuCtTg6xhGEpKStLKlSv12WefVemrrd27d0uSwsPDJUlxcXHau3evCgoKHGM2bNiggIAAdevWrU7qBgArq6io0A033KBXX31Vffr00ZNPPqmJEydq4cKFlY5PTU1VYGCgY+EbLADuwtQgm5iYqL/85S9aunSp/P39lZeXp7y8PJ0/f16SdPToUb300kvKzs7Wd999p08++UQPP/ywbrrpJsXExEiShg8frm7duumhhx7S119/rXXr1mn69OlKTEyUzWYz8/QAwC2Fh4df9g/96Oho5eTkVDo+JSVFhYWFjiU3N7c+ygSAazJ1jmxaWpqkn3/04JeWLFmiRx55RD4+Ptq4caPmzZunkpISRUZGaty4cZo+fbpjrKenp9asWaOnn35acXFx8vPzU0JCgtNzZwEA/9+gQYMu+/GZb7/9VlFRUZWOt9lsXBgA4JZMDbKGYVx1f2RkpDIzM695nKioKH366ae1VRYANGhTp07VwIED9eqrr+qee+7Rjh07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ldlf+tOf/lTjwgAAzt5++2299957Gjt2rObMmePY3rdvXz333HMmVgYA5qhWkJ01a5Zmz56tvn37Kjw8XB4eHrVdFwDg3xw7dkx9+vS5bLvNZlNJSYkJFQGAuaoVZBcuXKj09HQ99NBDtV0PAOAK2rdvr927dysqKsppe0ZGhqKjo6t93Dlz5iglJUWTJ09migIAS6lWkL148aIGDhxY27UAAK4iOTlZiYmJunDhggzD0I4dO7Rs2TKlpqbq/fffr9Yxd+7cqXfffVcxMTG1XC0A1L1q3ez1xBNPaOnSpbVdCwDgKp544gm99tprmj59un766Sc98MADSktL0/z583Xfffe5fLzi4mJNmDBB7733nlq0aFEHFQNA3arWFdkLFy5o0aJF2rhxo2JiYuTt7e20/4033qiV4gAAziZMmKAJEybop59+UnFxsUJCQqp9rMTERI0ePVrx8fF6+eWXrzjObrfLbrc71ouKiqr9mQBQm6oVZPfs2aPevXtLkvbt2+e0jxu/AKBuHDt2TGVlZerUqZOaNWumZs2aSZIOHz7s+FGaqlq+fLm++uor7dy585pjU1NTNWvWrOqWDQB1plpB9vPPP6/tOgAA1/DII4/oscceU6dOnZy2b9++Xe+//742b95cpePk5uZq8uTJ2rBhg3x9fa85PiUlRcnJyY71oqIiRUZGulQ7ANSFas2RBQDUv3/+858aNGjQZdsHDBig3bt3V/k42dnZKigo0A033CAvLy95eXkpMzNTb731lry8vBw/tHCJzWZTQECA0wIA7qBaV2RvueWWq04h+Oyzz6pdEACgch4eHjp37txl2wsLCy8Ln1czbNgw7d2712nbo48+qq5du2ratGny9PSsca0AUB+qFWQvzY+9pLS0VLt379a+ffuUkJBQG3UBAP7NTTfdpNTUVC1btswRNsvLy5WamqrBgwdX+Tj+/v7q0aOH0zY/Pz+1bNnysu0A4M6qFWTffPPNSrfPnDlTxcXFNSoIAFC51157TTfddJO6dOmiG2+8UZL0j3/8Q0VFRXwT5gYmT56s06dPS5Jat26t+fPnm1wR0PDV6hzZBx98UH/6059q85AAgP/TrVs37dmzR/fcc48KCgp07tw5Pfzww/rmm29qfCV18+bN/KpXDZ0+fVr5+fnKz893BFoAdataV2SvJCsrq0p3wAIAqiciIkKvvvqq2WUAgFuoVpC96667nNYNw9CpU6e0a9cuvfDCC1U+zpYtW/THP/5R2dnZOnXqlFauXKmxY8c69j/yyCP64IMPnN4zYsQIZWRkONbPnDmjSZMmafXq1WrSpInGjRun+fPnq3nz5tU5NQBwK3v27FGPHj3UpEkT7dmz56pj+ZlZAI1NtYJsYGCg03qTJk3UpUsXzZ49W8OHD6/ycUpKStSrVy899thjl4XjS0aOHKklS5Y41m02m9P+CRMm6NSpU9qwYYNKS0v16KOP6sknn+QndAE0CL1791ZeXp5CQkLUu3dveXh4yDCMy8Z5eHi49OQCAGgIqhVkfxksa2LUqFEaNWrUVcfYbDaFhYVVuu/gwYPKyMjQzp071bdvX0nS22+/rdtuu02vv/66IiIiaqVOADDLsWPH1Lp1a8drAMD/V6M5stnZ2Tp48KAkqXv37urTp0+tFPVLmzdvVkhIiFq0aKGhQ4fq5ZdfVsuWLSX9PCc3KCjIEWIlKT4+Xk2aNNH27dt15513VnpMfjccgFVERUVJ+vkxh7NmzdILL7yg9u3bm1wVALiHaj21oKCgQEOHDlW/fv307LPP6tlnn1VsbKyGDRtWq3dqjhw5Uh9++KE2bdqk1157TZmZmRo1apTj67NLX7f9kpeXl4KDg5WXl3fF46ampiowMNCx8FOLANydt7e3/vu//9vsMgDArVTriuykSZN07tw57d+/X9HR0ZKkAwcOKCEhQc8++6yWLVtWK8Xdd999jtc9e/ZUTEyMOnbsqM2bN2vYsGHVPi6/Gw7AisaOHatVq1Zp6tSpZpfS4JzNeLvGx6g4X+T0uqbHDBo5qaYlAQ1etYJsRkaGNm7c6Aix0s/PN1ywYIFLN3u5qkOHDmrVqpWOHDmiYcOGKSwsTAUFBU5jysrKdObMmSvOq5V+nnf77zeNAYC769Spk2bPnq0vv/xSsbGx8vPzc9r/7LPPmlQZAJijWkG2oqJC3t7el2339vZWRUVFjYu6ku+//14//PCDwsPDJUlxcXE6e/assrOzFRsbK0n67LPPVFFRof79+9dZHQBghsWLFysoKEjZ2dnKzs522ufh4UGQBdDoVCvIDh06VJMnT9ayZcscTwY4ceKEpk6d6tJX/sXFxTpy5Ihj/dixY9q9e7eCg4MVHBysWbNmady4cQoLC9PRo0f129/+Vtdff71GjBghSYqOjtbIkSM1ceJELVy4UKWlpUpKStJ9993HEwsANDi/fGrBpUdweXh4mFUOAJiuWjd7/ed//qeKiorUrl07dezYUR07dlT79u1VVFSkt9+u+pygXbt2qU+fPo6nHSQnJ6tPnz568cUX5enpqT179ujXv/61OnfurMcff1yxsbH6xz/+4TQt4K9//au6du2qYcOG6bbbbtPgwYO1aNGi6pwWALi9xYsXq0ePHvL19ZWvr6969Oih999/3+yyAMAU1boiGxkZqa+++kobN27UN998I+nnq6Px8fEuHWfIkCGVPtj7knXr1l3zGMHBwfz4AYBG4cUXX9Qbb7yhSZMmKS4uTtLPjyGcOnWqcnJyNHv2bJMrBNAYBPk3q/S1GVwKsp999pmSkpK0bds2BQQE6NZbb9Wtt94qSSosLFT37t21cOFC3XjjjXVSLAA0ZmlpaXrvvfd0//33O7b9+te/VkxMjCZNmkSQNVlL/6aVvgYamuSHRptdgoNLQXbevHmaOHGiAgICLtsXGBio3/zmN3rjjTcIsgBQB0pLS51+AOaS2NhYlZWVmVARfumVB24yuwSg0XFpjuzXX3+tkSNHXnH/8OHDL7uTFgBQOx566CGlpaVdtn3RokWaMGGCCRUBgLlcuiKbn59f6WO3HAfz8qrVX/YCADhbvHix1q9frwEDBkiStm/frpycHD388MNOP/TyxhtvmFUiANQbl4Lsddddp3379un666+vdP+ePXscz3iF+ystLXXp60gvL6+r/kMGQN3at2+fbrjhBknS0aNHJUmtWrVSq1attG/fPsc4HskFoLFwKcjedttteuGFFzRy5Ej5+vo67Tt//rxmzJih22+/vVYLRN0oLS1V26h2yjt1ssrvCQuPUM7x7wizgEk+//xzs0sAALfiUpCdPn26PvroI3Xu3FlJSUnq0qWLJOmbb77RggULVF5ert///vd1UihqV1lZmfJOndSKrd/Lx/fad9devHBe4we2UVlZGUEWAAC4BZeCbGhoqLZu3aqnn35aKSkpTr8sM2LECC1YsEChoaF1Uijqho9vU9mqEGQBAADcjcs/iBAVFaVPP/1UP/74o44cOSLDMNSpUye1aNGiLuoDADQikydPdtw03Lp1a82fP9/kigC4s2r9spcktWjRQv369avNWgAAjdzp06eVn59vdhkALMKl58gC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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='bedrooms', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='bedrooms', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的卧室数范围为1-6个，其中大多房子有2-4个。\n",
    "\n",
    "从平均房价与卧室数之间的柱状图来看，当卧室数小于5个时，卧室数多的房子价格也相应高，但一旦多于5个，房价并不一定相应更高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 洗手间数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAFUCAYAAADYjN+CAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAQElEQVR4nO3dfVwVZf7/8fcBBUUEQuPOQM1MIUUMU0+amZKIZrm53WlCZrYZmMpWLq15W2Kmpmuk3XjTbpGuu2plrncUWommGD/v3XRtcc0DmisIJijM74++nu0kqCBwGHw9H495PJhrrpn5zNnt6t2cmetYDMMwBAAAAJiMi7MLAAAAACqDIAsAAABTIsgCAADAlAiyAAAAMCWCLAAAAEyJIAsAAABTIsgCAADAlAiyAAAAMCWCLAAAAEyJIAsAAABTIsgCAKrF5s2bNWDAAAUFBclisWjVqlUV2n/SpEmyWCyXLI0aNaqeggGYDkEWAFAtCgsL1aFDB6WkpFRq/+eff17Hjx93WMLCwvTQQw9VcaUAzIogCwCoFjExMXrllVf0m9/8psztRUVFev7559WsWTM1atRIXbp0UXp6un27p6enAgIC7EtOTo727dun4cOH19AVAKjtCLIAAKdISEhQRkaGli5dql27dumhhx5S37599d1335XZ/7333tOtt96qu+66q4YrBVBbEWQBADUuOztbixcv1vLly3XXXXepVatWev7559W9e3ctXrz4kv7nzp3Thx9+yN1YAA7qObsAAMD1Z/fu3SopKdGtt97q0F5UVKQmTZpc0n/lypU6c+aM4uLiaqpEACZAkAUA1LiCggK5uroqMzNTrq6uDts8PT0v6f/ee+/pvvvuk7+/f02VCMAECLIAgBrXsWNHlZSUKDc394rPvB45ckRffPGFPvnkkxqqDoBZEGQBANWioKBAhw4dsq8fOXJEWVlZ8vX11a233qohQ4YoNjZWs2bNUseOHXXixAmlpaUpPDxc/fv3t++3aNEiBQYGKiYmxhmXAaAWsxiGYTi7CABA3ZOenq577rnnkva4uDgtWbJE58+f1yuvvKI///nPOnbsmJo2baquXbtq8uTJat++vSSptLRUzZs3V2xsrF599dWavgQAtRxBFgAAAKbE9FsAAAAwJYIsAAAATImXvfTzM1g//PCDGjduLIvF4uxyAJiQYRg6c+aM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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='bathrooms', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='bathrooms', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集中房子洗手间数量最少1个，最多4个，其中为1个的数量最多。\n",
    "\n",
    "从平均房价与洗手间数之间的柱状图来看，洗手间多的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 楼层数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='stories', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='stories', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的楼层数范围为1-4层，其中大多房子有1层或2层。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，楼层多的房子价格也相应高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 车库数与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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qQoICHAukZGRbqwQAK6PIAsAjdQ//vEPbd++XU888cQN26WkpKikpMS55OXlualCALgxhhYAQCO1atUqhYaGavTo0TdsZ7FYZLFY3FQVANw6nsgCQCNUWVmpVatWKSEhQU2b8kwDgDkRZAGgEdq+fbtyc3M1ZcoUo0sBgFrjf8MBoBEaMWKEHA6H0WUAwG3hiSwAAABMiSALAAAAUyLIAgAAwJQIsgAAADAlgiwAAABMydAgm5qaqr59+8rPz0+hoaEaN26ccnJyXNoMGTJEXl5eLst//dd/ubTJzc3V6NGj5evrq9DQUM2aNUtXrlxx56UAAADAzQydfmv37t1KTExU3759deXKFf3iF7/QiBEj9NVXX6lly5bOdk8++aQWLFjgXPf19XX+XVFRodGjRys8PFx79+7V2bNnNWnSJDVr1kwvv/yyW68HAAAA7mNokN28ebPLenp6ukJDQ5WVlaXBgwc7t/v6+io8PLzaY2zdulVfffWVtm/frrCwMPXq1UsvvviiZs+erXnz5snHx6derwEAAADG8KgxsiUlJZKkoKAgl+3vvvuugoOD1b17d6WkpOjixYvOfZmZmerRo4fCwsKc20aOHCmbzaajR49Wex673S6bzeayAAAAwFw85s1elZWVmjFjhgYOHKju3bs7tz/yyCNq166dIiIidPjwYc2ePVs5OTn64IMPJEn5+fkuIVaScz0/P7/ac6Wmpmr+/Pn1dCUAAABwB48JsomJicrOztZnn33msv2pp55y/t2jRw+1adNG99xzj06dOqVOnTrV6lwpKSlKTk52rttsNkVGRtaucAAAABjCI4YWJCUlaePGjdq5c6fatm17w7b9+/eXJJ08eVKSFB4eroKCApc219avN67WYrHI39/fZQEAAIC5GBpkHQ6HkpKStH79en366afq0KHDTT9z6NAhSVKbNm0kSVarVUeOHFFhYaGzzbZt2+Tv76+YmJh6qRsAAADGM3RoQWJiojIyMvThhx/Kz8/POaY1ICBALVq00KlTp5SRkaH77rtPrVu31uHDhzVz5kwNHjxYsbGxkqQRI0YoJiZGjz32mF599VXl5+drzpw5SkxMlMViMfLyAACAB5k+fbrOnTsnSQoJCdHSpUsNrgi3y9Agm5aWJunqSw++a9WqVZo8ebJ8fHy0fft2LVmyRGVlZYqMjNT48eM1Z84cZ1tvb29t3LhRTz/9tKxWq1q2bKmEhASXeWcBAADOnTtXZTgizM3QIOtwOG64PzIyUrt3777pcdq1a6dPPvmkrsoCAACACXjEj70AAACAmiLIAgAAwJQIsgAAADAlgiwAAABMiSALAAAAUyLIAkAj9M033+jRRx9V69at1aJFC/Xo0UMHDx40uiwAqBFDp98CALjfv/71Lw0cOFBDhw7Vpk2bFBISohMnTuiOO+4wujQAqBGCLAA0Mq+88ooiIyO1atUq57ZbeUU4AHgahhYAQCPz0UcfqU+fPvrJT36i0NBQ9e7dW2+99ZbRZQFAjRFkAaCR+frrr5WWlqbOnTtry5Ytevrpp/Xzn/9cq1evrra93W6XzWZzWQDAEzC0AAAamcrKSvXp00cvv/yyJKl3797Kzs7WihUrlJCQUKV9amqq5s+f7+4yAeCmeCILAI1MmzZtFBMT47ItOjpaubm51bZPSUlRSUmJc8nLy3NHmQBwUzyRBYBGZuDAgcrJyXHZ9re//U3t2rWrtr3FYpHFYnFHaQBQIwRZAGhkZs6cqR/84Ad6+eWX9dOf/lRffPGF3nzzTb355ptGl4ZG6rcn1rrlPBfKy1z+dtd5f9Z5glvO0xgRZAGgkenbt6/Wr1+vlJQULViwQB06dNCSJUs0ceJEo0sD8B2l77/nlvM4Lpa5/O2u87Z68KHbPgZBFgAaoTFjxmjMmDFGlwEAt4UfewEAAMCUCLIAAAAwJYIsAAAATIkgCwAAAFMiyAIAAMCUCLIAAAAwJabfAgCggZk+fbrOnTsnSQoJCdHSpUsNrgioHwRZAAAamHPnzqmgoMDoMoB6x9ACAAAAmBJBFgAAAKbE0AIAANAo+N7Rstq/YV4EWQAA0CgMm/Ujo0tAHWNoAQAAAEyJIAsAAABTIsgCAADAlAwNsqmpqerbt6/8/PwUGhqqcePGKScnx6XNpUuXlJiYqNatW6tVq1YaP358lbnxcnNzNXr0aPn6+io0NFSzZs3SlStX3HkpAAAAcDNDg+zu3buVmJioffv2adu2bSovL9eIESNUVlbmbDNz5kx9/PHHWrdunXbv3q0zZ87ogQcecO6vqKjQ6NGjdfnyZe3du1erV69Wenq6XnjhBSMuCQAAAG5i6KwFmzdvdllPT09XaGiosrKyNHjwYJWUlGjlypXKyMjQsGHDJEmrVq1SdHS09u3bpwEDBmjr1q366quvtH37doWFhalXr1568cUXNXv2bM2bN08+Pj5GXBoAAADqmUeNkS0pKZEkBQUFSZKysrJUXl6u4cOHO9t07dpVUVFRyszMlCRlZmaqR48eCgsLc7YZOXKkbDabjh49Wu157Ha7bDabywIAAABz8ZggW1lZqRkzZmjgwIHq3r27JCk/P18+Pj4KDAx0aRsWFqb8/Hxnm++G2Gv7r+2rTmpqqgICApxLZGRkHV8NAAAA6pvHvBAhMTFR2dnZ+uyzz+r9XCkpKUpOTnau22w2wiwAoN4Vb17mlvNU/tvm8re7zhs4appbzgNc4xFPZJOSkrRx40bt3LlTbdu2dW4PDw/X5cuXVVxc7NK+oKBA4eHhzjb/OYvBtfVrbf6TxWKRv7+/ywIAjcW8efPk5eXlsnTt2tXosgCgxgwNsg6HQ0lJSVq/fr0+/fRTdejQwWV/XFycmjVrph07dji35eTkKDc3V1arVZJktVp15MgRFRYWOtts27ZN/v7+iomJcc+FAIDJdOvWTWfPnnUu7vg2DADqmqFDCxITE5WRkaEPP/xQfn5+zjGtAQEBatGihQICAjR16lQlJycrKChI/v7+mjZtmqxWqwYMGCBJGjFihGJiYvTYY4/p1VdfVX5+vubMmaPExERZLBYjLw8APFbTpk2v+60VAJiFoU9k09LSVFJSoiFDhqhNmzbO5b333nO2ef311zVmzBiNHz9egwcPVnh4uD744APnfm9vb23cuFHe3t6yWq169NFHNWnSJC1YsMCISwIAUzhx4oQiIiLUsWNHTZw4Ubm5uUaXBAA1ZugTWYfDcdM2zZs31/Lly7V8+fLrtmnXrp0++eSTuiwNABqs/v37Kz09XV26dNHZs2c1f/58DRo0SNnZ2fLz86vS3m63y263O9eZshCAp/CYWQsAAO4RHx/v/Ds2Nlb9+/dXu3bt9Mc//lFTp06t0j41NVXz5893Z4kAcEs8YtYCAIBxAgMDddddd+nkyZPV7k9JSVFJSYlzycvLc3OFAFA9giwANHKlpaU6deqU2rRpU+1+piwE4KkIsgDQyDzzzDPavXu3/v73v2vv3r368Y9/LG9vbz388MNGlwYANcIYWQBoZP75z3/q4Ycf1rfffquQkBDdfffd2rdvn0JCQowuDQBqhCALAI3M2rVrjS4B9ay1X4tq/wYaGoIsAAANzEuPDDa6BMAtGCMLAAAAUyLIAgAAwJQIsgAAADAlgiwAAABMqVZBtmPHjvr222+rbC8uLlbHjh1vuygAAADgZmoVZP/+97+roqKiyna73a5vvvnmtosCAAAAbqZG02999NFHzr+3bNmigIAA53pFRYV27Nih9u3b11lxAAAAwPXUKMiOGzdOkuTl5aWEhASXfc2aNVP79u312muv1VlxAAAAwPXUaGhBZWWlKisrFRUVpcLCQud6ZWWl7Ha7cnJyNGbMmPqqFQAavd///vcaOHCgIiIi9I9//EOStGTJEn344YcGVwYA7lerMbKnT59WcHBwXdcCALiBtLQ0JScn67777lNxcbHztwqBgYFasmSJscUBgAFq/YraHTt2aMeOHc4ns9/19ttv33ZhAABXy5Yt01tvvaVx48Zp4cKFzu19+vTRM888Y2BlAGCMWgXZ+fPna8GCBerTp4/atGkjLy+vuq4LAPAfTp8+rd69e1fZbrFYVFZWZkBFAGCsWgXZFStWKD09XY899lhd1wMAuI4OHTro0KFDateuncv2zZs3Kzo62qCqAMA4tQqyly9f1g9+8IO6rgUAcAPJyclKTEzUpUuX5HA49MUXX2jNmjVKTU3V7373O6PLc7vp06fr3LlzkqSQkBAtXbrU4IoAuFutguwTTzyhjIwMPf/883VdDwDgOp544gm1aNFCc+bM0cWLF/XII48oIiJCS5cu1YQJE4wuz+3OnTungoICo8sAYKBaBdlLly7pzTff1Pbt2xUbG6tmzZq57F+8eHGdFAcAcDVx4kRNnDhRFy9eVGlpqUJDQ40uCYDJtW7Zstq/zaBWQfbw4cPq1auXJCk7O9tlHz/8AoD6cfr0aV25ckWdO3eWr6+vfH19JUknTpxwvpQGAGpq4Y/vN7qEWqtVkN25c2dd1wEAuInJkydrypQp6ty5s8v2/fv363e/+5127dplTGEAYJBavRABAOB+f/nLXzRw4MAq2wcMGKBDhw65vyAAMFitnsgOHTr0hkMIPv3001oXBAConpeXly5cuFBle0lJifMtXwDQmNQqyF4bH3tNeXm5Dh06pOzsbCUkJNRFXQCA/zB48GClpqZqzZo18vb2liRVVFQoNTVVd999d62Pu3DhQqWkpGj69Ol18qrb9784d9vHuBUX7RUuf7vrvJL0YL8Qt50LwPXVKsi+/vrr1W6fN2+eSktLb6sgAED1XnnlFQ0ePFhdunTRoEGDJEl//vOfZbPZav1N2IEDB/Tb3/5WsbGxdVkqALhFnY6RffTRR/X222/X5SEBAP9PTEyMDh8+rJ/+9KcqLCzUhQsXNGnSJB0/flzdu3ev8fFKS0s1ceJEvfXWW7rjjjvqoWIAqF91GmQzMzPVvHnzW26/Z88ejR07VhEREfLy8tKGDRtc9k+ePFleXl4uy6hRo1zanD9/XhMnTpS/v78CAwM1depUngoDaLAiIiL08ssv609/+pPef/99vfDCCwoKCqrVsRITEzV69GgNHz68jqsEAPeo1dCCBx54wGXd4XDo7NmzOnjwYI3e9lVWVqaePXtqypQpVY55zahRo7Rq1SrnusVicdk/ceJEnT17Vtu2bVN5ebkef/xxPfXUU8rIyKjBFQGAZzp8+LC6d++uJk2a6PDhwzdsW5PhAWvXrtWXX36pAwcO3LSt3W6X3W53rttstls+DwDUp1oF2YCAAJf1Jk2aqEuXLlqwYIFGjBhxy8eJj49XfHz8DdtYLBaFh4dXu+/YsWPavHmzDhw4oD59+kiSli1bpvvuu0+LFi1SRETELdcCAJ6oV69eys/PV2hoqHr16iUvLy85HI4q7by8vG555oK8vDxNnz5d27Ztu6Vv0VJTUzV//vwa1w4A9a1WQfa7T0jr265duxQaGqo77rhDw4YN069+9Su1bt1a0tWhDIGBgc4QK0nDhw9XkyZNtH//fv34xz92W50AUB9Onz6tkJAQ5991ISsrS4WFhfr+97/v3FZRUaE9e/bojTfekN1ud86KIEkpKSlKTk52rttsNkVGRtZJLbejZUDrav8G0HjUKshek5WVpWPHjkmSunXrpt69e9dJUdeMGjVKDzzwgDp06KBTp07pF7/4heLj45WZmSlvb2/nU4rvatq0qYKCgpSfn3/d4/I1GQCzaNeunaSr0xzOnz9fzz//vDp06HBbx7znnnt05MgRl22PP/64unbtqtmzZ7uEWOnqN2P/OazLE/z4v3hKDDR2tQqyhYWFmjBhgnbt2qXAwEBJUnFxsYYOHaq1a9c6nx7crgkTJjj/7tGjh2JjY9WpUyft2rVL99xzT62Py9dkAMymWbNm+r//+78a/Q7hevz8/KrMctCyZUu1bt26VrMfAIBRajVrwbRp03ThwgUdPXpU58+f1/nz55WdnS2bzaaf//zndV2jU8eOHRUcHKyTJ09KksLDw1VYWOjS5sqVKzp//vx1x9VKV78mKykpcS55eXn1VjMA1JVx48ZVmd0FABqzWj2R3bx5s7Zv367o6GjntpiYGC1fvrxGP/aqqX/+85/69ttv1aZNG0mS1WpVcXGxsrKyFBcXJ+nq63ErKyvVv3//6x7HU78mA4Ab6dy5sxYsWKDPP/9ccXFxatmypcv+23mQsGvXrtusDgDcr1ZBtrKyUs2aNauyvVmzZqqsrLzl45SWljqfrkpXf8hw6NAhBQUFKSgoSPPnz9f48eMVHh6uU6dO6dlnn9Wdd96pkSNHSpKio6M1atQoPfnkk1qxYoXKy8uVlJSkCRMmMGMBgAZn5cqVCgwMVFZWlrKyslz2eXl51es3YgDgiWoVZIcNG6bp06drzZo1zsD4zTffaObMmTUau3rw4EENHTrUuX7tV7EJCQlKS0vT4cOHtXr1ahUXFysiIkIjRozQiy++6PI09d1331VSUpLuueceNWnSROPHj9dvfvOb2lwWAHi0785acG0KLi8vL6PKAQDD1SrIvvHGG/rRj36k9u3bO6dgycvLU/fu3fWHP/zhlo8zZMiQaudDvGbLli03PUZQUBAvPwDQaKxcuVKvv/66Tpw4IenqcIMZM2boiSeeMLgyAHC/WgXZyMhIffnll9q+fbuOHz8u6erX/LzmEADqzwsvvKDFixdr2rRpslqtkq7Opz1z5kzl5uZqwYIFBlcIAO5VoyD76aefKikpSfv27ZO/v7/uvfde3XvvvZKkkpISdevWTStWrNCgQYPqpVgAaMzS0tL01ltv6eGHH3Zu+9GPfqTY2FhNmzaNIAug0anR9FtLlizRk08+KX9//yr7AgIC9LOf/UyLFy+us+IAAP+/8vJylzcZXhMXF6crV64YUBEAGKtGQfavf/2rRo0add39I0aMqPJLWgBA3XjssceUlpZWZfubb76piRMnGlARABirRkMLCgoKqp12y3mwpk117ty52y4KAFC9lStXauvWrRowYIAkaf/+/crNzdWkSZOcM79I4tsxAI1CjYLs9773PWVnZ+vOO++sdv/hw4edLysAANSt7Oxsff/735cknTp1SpIUHBys4OBgZWdnO9sxJReAxqJGQfa+++7T888/r1GjRql58+Yu+/79739r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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "sns.histplot(cleaned_house_price, x='parking', ax=axes[0])\n",
    "sns.barplot(cleaned_house_price, x='parking', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "此数据集中房子的车库数范围为0-3个，不带车库的房子数量是最多的，其次是1个和2个。\n",
    "\n",
    "从平均房价与楼层数之间的柱状图来看，车库多的房子价格也相应高，但超过2个后，房价并不一定相应更高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否在主路与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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qVOn9Nhjj1EybcKIJgAAAIKCxUAAAAAICoomAAAAgoKiCQAAgKCgaAIAACAoKJoAAAAICoomAAAOd+eddza5qo3TLF++XKmpqXbHgAOxjyYAAA63ePFisRshQhFFEwAAh0tJSWnzY/h8PkVHR7dDGqDlmDoHAKAdjRs3Tvfff78eeOABpaWlKTs7W8uWLVN1dbXuuusuJSUlqVevXnr99dclSYFAQPfcc4+6d++uuLg49e3bV4sXL27ymGdOnY8bN04zZ87UQw89pPT0dOXk5Gju3LlNvscwDC1ZskTXXXedEhIS9Oijj0qSlixZop49eyomJkZ9+/bVH/7whybft3DhQg0ePFgJCQnKz8/Xfffdp6qqqib3Wb58uQoKChQfH6/rr79eJ06caKc/PYQbiiYAAO3smWeeUadOnfTee+/p/vvv149+9CPddNNNuvjii7V161ZdeeWVuu2221RTUyPTNNWlSxe9+OKL2rVrlx5++GH9v//3//TnP//5G58jISFBmzdv1s9//nPNnz9fa9eubXKfuXPn6vrrr9f27dt199136+WXX9asWbP0r//6r9qxY4d+8IMf6K677tLbb7/d+D0ul0u//OUvtXPnTj3zzDN666239NBDDzV+ffPmzbrnnns0Y8YMbdu2TZdddpkeeeSR9v0DRNjgEpQAALSjcePGKRAIaOPGjZIaRixTUlJ0ww03aMWKFZKkkpIS5ebm6t1339Xo0aObPcaMGTNUUlKiv/zlL5IaRjTLy8u1cuXKsz6HJF144YW6/PLL9bOf/UxSw4jmAw88oCeeeKLxPmPGjNHAgQP1u9/9rvHYzTffrOrqar322mtnfT1/+ctf9MMf/lDHjx+XJN16662qqKhocv/vfve7Wr16tcrLy8/3jwthjhFNAADaWWFhYePHbrdbGRkZGjx4cOOx7OxsSVJpaakk6cknn9Tw4cOVmZmpxMRE/e53v1NRUVGLn0OScnNzGx/vCyNGjGjy+e7duzVmzJgmx8aMGaPdu3c3fr5u3TqNHz9enTt3VlJSkm677TadOHFCNTU1jY8xatSoJo9x0UUXnTMrIhdFEwCAdnbmohvDMJocMwxDkmSapp5//nk9+OCDuueee7RmzRpt27ZNd911l+rr68/7OUzTbHIsISHhvHIfOnRI1157rQoLC/XSSy9py5YtevLJJyXpG/MAZ8OqcwAAbPTOO+/o4osv1n333dd4bP/+/UF5rv79++udd97RHXfc0eT5BwwYIEnasmWLTNPUL37xC7lcDWNRZ54r2r9/f23evLnJsU2bNgUlL0IfRRMAABv17t1bK1as0BtvvKHu3bvrD3/4g95//31179693Z/r3/7t33TzzTdr6NChmjBhgl599VX97//+r9atWydJ6tWrl3w+n371q19p0qRJeuedd/Tb3/62yWPMnDlTY8aM0eOPP67JkyfrjTfe0OrVq9s9K8IDU+cAANjoBz/4gW644QbdcsstGjVqlE6cONFkdLM9TZkyRYsXL9bjjz+ugQMHaunSpXr66ac1btw4SdKQIUO0cOFCPfbYYxo0aJD++Mc/asGCBU0eY/To0Vq2bJkWL16sIUOGaM2aNfrJT34SlLwIfaw6BwAAQFAwogkAAICgoGgCAAAgKCiaAAAACAqKJgAAAIKCogkAAICgoGgCAAAgKCiaAAAACAqKJgAAAIKCogkAAICgoGgCAAAgKCiaAAAACAqKJgAAAILi/wPzSQ0+xSp4iQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "mainroad_count = cleaned_house_price['mainroad'].value_counts()\n",
    "mainroad_label = mainroad_count.index\n",
    "axes[0].pie(mainroad_count, labels=mainroad_label)\n",
    "sns.barplot(cleaned_house_price, x='mainroad', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有客人房与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "mainroad_count = cleaned_house_price['guestroom'].value_counts()\n",
    "mainroad_label = mainroad_count.index\n",
    "axes[0].pie(mainroad_count, labels=mainroad_label)\n",
    "sns.barplot(cleaned_house_price, x='guestroom', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有地下室与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApoAAAFUCAYAAACEBpymAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1gUlEQVR4nO3deXzU9YH/8fd3ZpJJyEkOjkDCDXIFuaEIYkGBVlZ+VuoqW9FWu62gtDysXR5dRWhttLWItV3WRVekdsV1u0q9KKByrFVQVAQ55E64kgAhdyZzfH9/RNNGQAPJ5POdmdfz8ZgHmW++8817dJJ5z+fzPSzbtm0BAAAArcxlOgAAAACiE0UTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBIA2tmnTJk2fPl05OTmyLEsvvfTSRW/Dtm098sgj6tu3r7xer7p06aIHH3yw9cMCQAt4TAcAgFhTXV2tIUOG6Lvf/a6uv/76S9rGvHnztHbtWj3yyCMaPHiwzpw5ozNnzrRyUgBoGcu2bdt0CACIVZZl6cUXX9SMGTMal/l8Pv3sZz/Tc889p7Nnz2rQoEF6+OGHNXHiREnS7t27lZ+fr507d6pfv35mggNAMzB1DgAOM3fuXL3zzjtatWqVPv74Y82cOVNTp07Vvn37JEkvv/yyevbsqVdeeUU9evRQ9+7ddfvttzOiCcBxKJoA4CCFhYV6+umn9cILL2j8+PHq1auX7rnnHl1xxRV6+umnJUkHDx7UkSNH9MILL2jlypVasWKFtm3bphtuuMFwegBoin00AcBBduzYoWAwqL59+zZZ7vP5lJmZKUkKhULy+XxauXJl43pPPfWUhg8frr179zKdDsAxKJoA4CBVVVVyu93atm2b3G53k+8lJydLkjp37iyPx9OkjPbv319Sw4goRROAU1A0AcBBhg4dqmAwqJKSEo0fP/6864wbN06BQEAHDhxQr169JEmffvqpJKlbt25tlhUAvgpHnQNAG6uqqtL+/fslNRTLJUuW6KqrrlJGRoby8vL0T//0T3r77bf1m9/8RkOHDlVpaaneeOMN5efn65vf/KZCoZBGjhyp5ORkLV26VKFQSHPmzFFqaqrWrl1r+NkBwN9QNAGgjW3YsEFXXXXVOctnz56tFStWyO/36xe/+IVWrlypY8eOKSsrS2PGjNGiRYs0ePBgSdLx48d11113ae3atUpKStK0adP0m9/8RhkZGW39dADggiiaAAAACAtObwQAAICwoGgCAAAgLDjqHADaQCgU0vHjx5WSkiLLskzHAYAWsW1blZWVysnJkct14XFLiiYAtIHjx48rNzfXdAwAaFVFRUXq2rXrBb9P0QSANpCSkiKp4Y9yamqq4TQA0DIVFRXKzc1t/Nt2IRRNAGgDn0+Xp6amUjQBRI2v2hWIg4EAAAAQFhRNAAAAhAVFEwAAAGFB0QQAAEBYUDQBAAAQFhRNAAAAhAVFEwAAAGFB0QQAAEBYcMJ2AAAQk+bNm6fS0lJJUnZ2th577DHDiaIPRRMAAMSk0tJSFRcXm44R1Zg6BwAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBdc6b4aJEycqPz9fCQkJevLJJxUfH68f/OAHeuCBByRJhYWFuuuuu/TGG2/I5XJp6tSpevzxx9WxY0ezwQEAuEhn1zxuOkKbCdVWNPk6lp67JKVPvSvsP4MRzWZ65plnlJSUpC1btuhXv/qVFi9erHXr1ikUCum6667TmTNntHHjRq1bt04HDx7UjTfeaDoyAACAUYxoNlN+fr4WLlwoSerTp49+97vf6Y033pAk7dixQ4cOHVJubq4kaeXKlRo4cKDee+89jRw50ljm5qoP2KoL2Kr126rzN3xd57flD9oKhqSQ/fnNVigkhdTwCcXtklwuSx6XFOe2FOeS4j2WEuMstYu31C7OUkKcJcuyTD9FAABgAEWzmfLz85vc79y5s0pKSrR7927l5uY2lkxJGjBggNLT07V7927HFE1fwFZFXUgVtSGV1332dV1Ilb6GMhkulqWG4hlnKSXBUnqiq/GW7KWEAgAQzSiazRQXF9fkvmVZCoXC2NBaIBC0dbo6pNLqoE5VhVRaFVKt3zaSxbalmnpbNfW2TlVLUrDxex6XlJboUvtEl7KTXeqQ4lZaIntzAAAQLSiaLdS/f38VFRWpqKiocVRz165dOnv2rAYMGNAmGeqDtk6UB3WiIqjSqpDO1oZkm+mVFyUQkk5Xh3S6OqT9pxqWJXikDiludUh2q0OKSxlJLrkY9QQAICJRNFto8uTJGjx4sGbNmqWlS5cqEAjozjvv1JVXXqkRI0aE7eeW1YR07GxAx8obymUoAoplc9QFpMKyoArLGkY+491S13S3urb3qEuaW3FuSicAAJGCecoWsixLq1evVvv27TVhwgRNnjxZPXv21PPPP9/qP6ukMqgth336n49q9PLOWn1w1K/iyugpmedTH5QOng5q036fnv+gRuv21GpPsV/V9c7cbQHR64EHHpBlWU1ul112melYAOBojGg2w4YNG85Z9tJLLzV+nZeXp9WrV4flZ5fXhnTwdECHTgdU5YviRtkMIVs6URHSiYp6bT0idUp1qXdWnPLau+VhpBNtYODAgVq/fn3jfY+HP6EA8GX4K+lA9QFbB04FdOBUQGdqGLm7kJMVIZ2s8CnOLXXL8KhXlkcdU9ymYyGKeTwederUyXQMAIgYFE0HKa8NaXexXwdPBRSgXzabPyjtLw1of2lAqQmWLusYp95ZHkY50er27dunnJwcJSQkaOzYsSooKFBeXt551/X5fPL5fI33KyoqzrseAEQz9tE0zLZtHS0LaN2eWq3eUatPSyiZLVFRZ2vrkXr9z0c1+rCoXrXsy4lWMnr0aK1YsUJr1qzRsmXLdOjQIY0fP16VlZXnXb+goEBpaWmNt78/1y4AxApGNA0J2bYOngpo5wm/Kupie9/LcKgPSjtO+PXJSb96ZHo0oFOc2rfjcxUu3bRp0xq/zs/P1+jRo9WtWzf993//t773ve+ds/6CBQs0f/78xvsVFRWUTcBhMlMSz/s1Wg9Fs42F7Ib9L3cc98f8wT1tIWSrcX/XbhluDe0Sr1ROCo9WkJ6err59+2r//v3n/b7X65XX623jVAAuxoM3TzAdIerxjttGbNvWodMBrf64Vu8cqqdkGnDkTFCrd9bqnUM+1TCljhaqqqrSgQMH1LlzZ9NRAMCxGNFsA8WVQW09Uq8yjiA3zralfaUBHTwVUL+OcRqcEyevh4OG8NXuueceTZ8+Xd26ddPx48e1cOFCud1u3XTTTaajAYBjUTTDqKY+pPcL63X4TPCrV0abCtrSrpN+7S/1a0iXePXr6OFSl/hSR48e1U033aTTp08rOztbV1xxhd59911lZ2ebjgYAjkXRDINgyNauk37tOO7nCHKHqw9K7xXWa/+pgEZ3i1cHzsOJC1i1apXpCAAQcSiarex4eVBbj/g4kjzClNWEtGZ3nfpkezQ8N17xTKcDANBiFM1W4g/a2lZUr09LAqajoAX2lQZ09GxQo7rFq1sGvx4AALQE76StoLgyqL8e9KmSI8mjQq3f1sb9PvXKaiiccVxhCACAS0LRbIFgyNaHR/3afdIvKmb0OXAqoOLKoMb39CqbfTcBALhoFM1LdLY2pE3763S2looZzap8ttbsrtPgnDjld4njyHSgjcybN0+lpaWSpOzsbD322GOGEwG4FBTNS3DodEDvHPJxRHmMsCV9fNyv4+VBXdnbqyQv1zkAwq20tFTFxcWmYwBoId4xL0IoZOu9Iz5tPkDJjEWnqkN69ZNaFVdyXlQAAJqDotlMNfUh/WVPnXYXc1R5LKsLSOv21GlPsd90FAAAHI+p82YorQpqwz6fav3sjwkpZEtbj9TrTE1Io7vFy+1iv00AAM6HovkVCssC2nzApyBT5fiC/aUBldeGNLFPghLjKJsAAHwRU+dfYm+xXxv3UTJxYaVVIa3ZVasqHy8SAAC+iKJ5AR8U1WvLkXrOj4mvVOmz9fquOpXVUDYBAPh7FM0vCIVs/d8Bn3ae4GAPNF+t39ZfdteqhCPSAQBoRNH8OyHb1qYDPh08zZHluHj1QWn93jodPcvrBwAAiaLZKGTb2rTfp8IyRqRw6QIhacM+n4rKKJsAAHDUuRpK5mZKJlpJyJY27vfp632lnDR+xdB6/mdrqekIbabGF2zydSw9d0m6YVS26QhAq4j5Ec2QbWvzAZ+OUDLRikK29NY+n05W8LoCAMSumC6att1w4M+RM5QBtL5gSHrz0zqVVvH6AgDEppgumu8X1uswJRNhFAhJb+yt0+lqXmcAgNgTs0Vz90k/1y1Hm6gPSm9+6lM1J3UHAMSYmCyahWUBvV9YbzoGYkit39ab+3zyB7kEAAAgdsRc0SytCmrzAR9X/EGbK6sJNbz2bF59AIDYEFNFs9IX0luf1nHtchhz9GyQ0XQAQMyImaIZDNnauM+nOnbLhGG7iwP6tIRLnAIAol/MnE1665F6nalhKBPOsPVIvTLauZSV7DYdBXCkpLTM834NILLERNE8UOrXvlKGMuEcIVvatN+nawclKt5jmY4DOM7/+8Ei0xEAtIKonzovqwnp3SPsEwfnqaq39ddDPtMxAAAIm6gumv6grQ37OPgHzlVYFtSeYvbXBABEp6gumluP1KvSx6lk4GzvF9brDFcOAgBEoagtmoVlAR04xX6ZcL6QLW064FMwxIciAEB0icqiWee39S77viGCVNTZ+ugYU+gAgOgSlUVzyxHOl4nIs+ukX6eZQgcARJGoK5qFZQEdOcObNSKPbUvvHKpXiEtUAgCiRFQVzfqgrS2HOZURIteZmpA+OcEUOgAgOkRV0fz4WL1q/YwGIbJ9fMyvilrOyeVkDz30kCzL0o9+9CPTUQDA0aKmaJbXhrSnmB0zEfmCtrSFiww41nvvvacnnnhC+fn5pqMAgONFTdF8v7BenB0G0eJERVBHy/jg5DRVVVWaNWuWli9frvbt25uOAwCOFxVF8+jZgI6VcwAQosv7RfUK8enJUebMmaNvfvObmjx58leu6/P5VFFR0eQGALEm4otmKGTrPaYZEYUq6mztLWFU0ylWrVqlDz74QAUFBc1av6CgQGlpaY233NzcMCcEAOeJ+KK5tyTAZSYRtXYcr1d9kNe3aUVFRZo3b57++Mc/KiEhoVmPWbBggcrLyxtvRUVFYU4JAM7jMR2gJYIhWzs5FQyiWF1A+uSEX0O7xpuOEtO2bdumkpISDRs2rHFZMBjUpk2b9Lvf/U4+n09ut7vJY7xer7xeb1tHBQBHieii+WlJgNMZIertOenXgE5x8nos01Fi1qRJk7Rjx44my2677TZddtll+ulPf3pOyQQANIjYosloJmKFPyTtKfZrSBdGNU1JSUnRoEGDmixLSkpSZmbmOcsBAH8TsftoMpqJWLL7pF9+9tUEAESYiBzRZDQTsaY+2PDhamDnONNR8JkNGzaYjgAAjheRI5r7TzGaidiz66RfQc6rCQCIIBFZNPcWM5qJ2FPrt7X/FOfVBABEjogrmicrgjpby6gOYtMePmQBACJIxBVN3mgRy8prbRVXcrlVAEBkiKiiWe0LqaiMN1nEtn0lfNgCAESGiCqan5YExKQ5Yt2RM0H5AvwmAACcL2KKZsi2tY8DIQAFbekAvwsAgAgQMUXzRHlQdZzSCJDE9DkAIDJETNE8fIZ9M4HPldfZOlXF7wQAwNkiomgGQ7YKy5gqBP4eH74AAE4XEUXz6Nmg/LynAk0UnuHDFwDA2SKiaB46zRsq8EVV9UyfAwCczfFF0x+0dewsb6bA+RzhvLIAAAdzfNE8URFUkIPNgfNi+hwA4GSOL5rHyxmxAS6k0merrCZkOgYAAOdF0QQi3IkKfkcAAM7k6KJZURtSlY95c+DLnODDGADAoRxdNI/xBgp8pZLKoEI2H8gAAM7j6KLJtDnw1fwh6XQV+2kCAJzHsUXTtm2VVFI0geZgP00AgBM5tmiW19ryM0gDNAtFEwDgRI4tmqeqeeMEmut0dUg2+2kCABzGwUWT4UyguQIhqaKOogkAcBbnFk0ObgAuyhlO3A4AcBhHFs1gyNbZWt40gYtxhlkAAIDDOLJonqkJKcQsIHBRTtewXzMAwFkcWTQrGM0ELhojmgAAp3Fm0eSgBuCi1QelmnrKJgDAOZxZNH28WQKXotLHhzQAgHM4s2gyoglckio+pAEAHMSRRbOyjjdL4FJUMaJ5Xn/4wx80btw45eTk6MiRI5KkpUuXavXq1YaTAUB0c1zRrKkPKUDPBC4JRfNcy5Yt0/z58/WNb3xDZ8+eVTDYcHR+enq6li5dajYcAEQ5xxVN3iiBS8fU+bkef/xxLV++XD/72c/kdrsbl48YMUI7duwwmAwAop/jimatn6IJXCo+qJ3r0KFDGjp06DnLvV6vqqurDSQCgNhB0QSiCL8/5+rRo4c++uijc5avWbNG/fv3b/Z2li1bpvz8fKWmpio1NVVjx47V66+/3opJASD6eEwH+KI63iiBSxaypUDIlsdlmY7iGPPnz9ecOXNUV1cn27a1detWPffccyooKNCTTz7Z7O107dpVDz30kPr06SPbtvXMM8/ouuuu04cffqiBAweG8RkAQORyXNH0BSiaQEvUB2x54iman7v99tuVmJiof/3Xf1VNTY1uvvlm5eTk6LHHHtM//uM/Nns706dPb3L/wQcf1LJly/Tuu+9SNAHgAhxXNOuDFE2gJeqDUjvTIRxm1qxZmjVrlmpqalRVVaUOHTq0aHvBYFAvvPCCqqurNXbs2FZKCQDRx3lFM2A6ARDZ6pkVaOLQoUMKBALq06eP2rVrp3btGmr4vn37FBcXp+7duzd7Wzt27NDYsWNVV1en5ORkvfjiixowYMB51/X5fPL5fI33KyoqWvQ8ACASOe5goECIN0mgJZgVaOrWW2/VX//613OWb9myRbfeeutFbatfv3766KOPtGXLFv3whz/U7NmztWvXrvOuW1BQoLS0tMZbbm7upcQHgIjmuKJJzwRahlmBpj788EONGzfunOVjxow579HoXyY+Pl69e/fW8OHDVVBQoCFDhuixxx4777oLFixQeXl5462oqOhS4gNARHPc1LlN0QRaxOaXqAnLslRZWXnO8vLy8sarBF2qUCjUZHr873m9Xnm93hZtHwAiHSOaQJThV6ipCRMmqKCgoEmpDAaDKigo0BVXXNHs7SxYsECbNm3S4cOHtWPHDi1YsEAbNmzQrFmzwhEbAKICI5q4KC47JK/lNx0DX8IKuSXFmY7hGA8//LAmTJigfv36afz48ZKkzZs3q6KiQm+++Wazt1NSUqJbbrlFJ06cUFpamvLz8/WXv/xFV199dbiiA0DEc1zRDNE0He06rVdK6U7TMfBlOl0r6dxLLsaqAQMG6OOPP9bvfvc7bd++XYmJibrllls0d+5cZWRkNHs7Tz31VBhTAkB0clzRpGY612jPHqWcoGQ6nsXJ2r8oJydHv/zlL03HAICY47ii6XZZom46Tyf3WfUtWW86BpqDoqmPP/5YgwYNksvl0scff/yl6+bn57dRKgCIPY4rmnGOOzwJHgX19arXZAXrTUdBc1j8El1++eU6efKkOnTooMsvv1yWZZ33aHzLslp85DkA4MKcVzTdjMY4zRTrr/JUnTQdA83lSTCdwLhDhw4pOzu78WsAgBmOK5oet+kE+Hv5niPKOPGe6Ri4GPGJphMY161bN0mS3+/XokWLdN9996lHjx6GUwFA7HHcHJvHxYimU7R3VWvIqdfF/5EIE8eI5ufi4uL0pz/9yXQMAIhZjiuacYxoOoJl27qmbo0sf43pKLhYcYxo/r0ZM2bopZdeMh0DAGKS46bO49lH0xEmebbJe+qI6Ri4FBTNJvr06aPFixfr7bff1vDhw5WUlNTk+3fffbehZAAQ/RxXNJPiKZqm9fGcVOeT/2c6Bi6FJ15yOW6iwqinnnpK6enp2rZtm7Zt29bke5ZlUTQBIIwcVzTbUTSNSrLqNLrsVVl2yHQUXIq4dqYTOM7fH3X++SmOLM41CgBtwnFDH0nxjosUU6YG3pSrrtx0DFyqxFTTCRzpqaee0qBBg5SQkKCEhAQNGjRITz75pOlYABD1GNFEo3GenUoq3WM6BlqiXXvTCRzn/vvv15IlS3TXXXdp7NixkqR33nlHP/7xj1VYWKjFixcbTggA0ctxRTPeYynOJfmZuW1Tue7T6ln8pukYaKmkDNMJHGfZsmVavny5brrppsZl//AP/6D8/HzdddddFE0ACCNHzlMzqtm24i2/JlS+JisUMB0FLcWI5jn8fr9GjBhxzvLhw4crEOA1DwDh5MiimZboyFhRa6q9We7qUtMx0BoY0TzHd77zHS1btuyc5f/xH/+hWbNmGUgEALHDcVPnkpSe6FJhWdB0jJgw3LNf6Sc+Mh0DrYURzfN66qmntHbtWo0ZM0aStGXLFhUWFuqWW27R/PnzG9dbsmSJqYgAEJUcWTTbt2NEsy1kuyo1oHSt6RhoLXGJXH7yPHbu3Klhw4ZJkg4cOCBJysrKUlZWlnbu3Nm4Hqc8AoDW58iimc7Uedi5FNKk2tdlBepMR0FrSe1oOoEjvfXWW6YjAEDMcmSjS02w5HZksuhxtWuL4iuOmo6B1pSeYzoBAABNOLLOWZal9ARHRosK/T1H1aH4XdMx0NrSKJoAAGdxbJtrn+TYaBEtzarR8NOvyZJtOgpaW3oX0wkAAGjCsW2uY7Jjo0Uu29Y1/nVy1VeZToLW5k3m8pMAAMdxbJvrkOo2HSHqTPR8pMSyA6ZjIBzYPxMA4ECOLZopXhdXCGpF3d2lyi3eZDoGwoX9MwEADuTYoilJHVMcHS9iJKhe48pflWVzEvyoldnddAIAAM7h6CbXMYXp89YwzX5L7tozpmMgXOISpPYcCAQAcB6KZpQb7dmrlFOfmI6BcMrqIVmO/lUGAMQoR787pSW6lMx+mpesk+us+pasMx0D4Zbd23QCAADOy9FFU5Jy2zOqeSk8Curr1a/JCtabjoJwy+5lOgEAAOcVAUXTkZdjd7wp1tvyVJ00HQPhltJBSkgxnQIAgPNyfNHskOJSPIOaFyXfc1iZJe+bjoG20IFpcwCAczm+aLosS13TGdVsrvauag05tcZ0DLSVzgNMJwAA4IIcXzQlKY/9NJvFsm1dU7dGlr/GdBS0haRMKa2z6RQAAFxQRBTNnHS34uiaX2mS5315y4+YjoG20mWw6QQAAHypiCiaHpel7hlMn3+ZPp4T6lz8tukYaEtdBplOAADAl4qIoilJvbMpmheSZNVpdNlrsuyQ6ShoK+27Su3am04RUwoKCjRy5EilpKSoQ4cOmjFjhvbu3Ws6FgA4WsQUzexkt9ISOXn7+UwNvCFXXbnpGGhLTJu3uY0bN2rOnDl69913tW7dOvn9fl1zzTWqrq42HQ0AHCuihgl7Z8VpWxEnIP97V3h2KKmUUZWY4nJztLkBa9Y0PZvDihUr1KFDB23btk0TJkwwlAoAnC2iimbPLI8+OFov2zadxBly3afVo/gt0zHQ1nIGSfHtTKeIeeXlDbMIGRkZ5/2+z+eTz+drvF9RUdEmuQDASSJm6lySEuMs5aZz+LkkxVt+Tah8VVYoYDoK2lqPUaYTxLxQKKQf/ehHGjdunAYNOv9BWQUFBUpLS2u85ebmtnFKADAvooqmJPXvFGc6giNMtTfLXX3KdAy0tYxuUmon0yli3pw5c7Rz506tWrXqgussWLBA5eXljbeioqI2TAgAzhBRU+eS1DHFrcwkl05Xx+4R1sM9+5V+4iPTMWBCj9GmE8S8uXPn6pVXXtGmTZvUtWvXC67n9Xrl9XrbMBkAOE/EjWhK0oAYHtXMdlVqQOla0zFgQrv2Use+plPELNu2NXfuXL344ot688031aNHD9ORAMDxIrJodstwK9kbe6c6cimkybWvyQrUmY4CE7qPlKzYe907xZw5c/Tss8/qv/7rv5SSkqKTJ0/q5MmTqq2tNR0NABwrIoumy7I0sHPsjWpe43pXcRXHTMeACfHtpNyhplPEtGXLlqm8vFwTJ05U586dG2/PP/+86WgA4FgRt4/m53pnefTxMb9q/bFxrqMBniJln9hiOgZM6TVO8sSbThHTbM6rBgAXLSJHNCXJ7bI0pEtsjGqmWTUadvp1WeKNLiYlpErdRphOAQDARYvYoik1XP88NSHK91mzbU3xr5Wrvsp0EpjSZ7zkjtjJBwBADIvooumyLA3tGt3TiVd5PlJC2UHTMWBKu/ZS18tNpwAA4JJEdNGUpG4ZHmUlRfzTOK8e7hJ1Ld5kOgZM6nul5IrO1zcAIPpFxTvYsNzoG9VMVL2+Vv6qLDtoOgpMSenQcF1zAAAiVFQUzU6pbnWNsmugTw29JXdtmekYMGnQNM6bCQCIaFFRNCVpVLd4eaLk2Yzx7FHK6U9Mx4BJOYOkjDzTKQAAaJEoqWZSstel/Cg43VFnd5n6lKwzHQMmeeKl/pNNpwAAoMWipmhKDddAb58YuU/Jo6CuqnpNVtBvOgpM6vd1KSHFdAoAAFosclvZebgsS2N6xCtS92qbar0tT1Wx6RgwKb0LJ2cHAESNqCqakpSd7FafDpF3cushnsPKKHnfdAyYZLmkwd/kACAAQNSIuqIpNZzuKNkbOW/W7V3Vyj+1xnQMmNZ3opTa0XQKAABaTVQWzXi3pfE9vRExMGTZtq6pe12Wv8Z0FJiU0U3q9TXTKQAAaFVRWTQlKTvFrfwc5x+FPsnznrzlhaZjwKS4ROnyGUyZAwCiTtQWTUkanBOnDsnOfYp9PcfVufht0zFg2uBvSImpplMAANDqnNvCWoHLsnRFL6/iHHjRoCSrTqPKXpNl26ajwKSul0udB5hOAQBAWER10ZQaTuQ+trvXdIxzTAusl6uuwnQMmJSUKQ2cYjoFAABhE/VFU5K6Z3o0sLNz9tcc79mhdmc+NR0DJnkSpBHfbrgKEAAAUSomiqYkDesapy5p5ufQc92n1L34LdMxYJJlScOul5KzTCcBACCsYqZoWpal8b28Skswd2Sv1/JrQuVrskIBYxngAJdNlrJ7mU4BAEDYxUzRlKR4j6Wr+iQo3tDA5hR7k9zVp8z8cDhD1yFSzzGmUwAA0CZiqmhKUmqiS+N7tf3J3Ed49im9dHvb/lA4S/uuDZeYBAAgRsRc0ZSkLukefa1H2x2E0cFVof6la9vs58GBkjKl4d+WXOb3EwYAoK3EZNGUpF5ZcRqZF/6y6VJIk2pelxXwhf1nwaES06TR/yR5k0wnAQCgTcVs0ZSk/p3iwn6Zymtc7yqu8lhYfwYczJvcUDK58g8AIAbFdNGUpMu7xuuyjp6wbHugp0jZxe+GZduIAHGJ0uhZUlKG6SQAABgR80VTkkbmxatXVuuWzTSrRsNOvyZzJ1OCUZ54adTNUkoH00kAADCGoqmGc2x+rUe8+nZopbJp25pSv1ZWfXXrbA+RxeOVRt4kpeeYTgIAgFHhmTOOQJZlaUx3r+Jclj456W/Rtq7yfKiEUwdbKRkiSnySNOomKa2z6SQAABhH0fyC4XnxinNLHx27tLLZ01Oiric3tXIqRITEtM/2ycw0nQQAAEegaJ5Hfpd4xbktvVdYf1GPS1S9vnb2VVl2KEzJ4FjJWQ0lM4GjywEA+BxF8wL6d4qT12PpnUM+Be3mPWZq6E25asvCGwzOk96lYZ/M+ETTSQAAcBSK5pfomeVRSoKlt/b5VOf/8rY51rNbKSd2tVEyOEbHftLlMxqOMgcAAE1w1PlXyE5265sDEtS+3YX/U+W4y9S7ZH0bpoIj9J0oDZ9JyQQA4AIoms2Q5HVpav8E5bU/9zrVHgU0seo1WcGWHamOCOLxSiNulPqMlyzOlBorNm3apOnTpysnJ0eWZemll14yHQkAHI+i2UxxbktX9vYqPyeuyUnYp1pvy1NVbCwX2lhSpjTue1LHvqaToI1VV1dryJAh+v3vf286CgBEDPbRvAiWZenyrvHqkOLW/x30qZ99UBkntpmOhbbSsa80ZIYU5zWdBAZMmzZN06ZNMx0DACIKRfMS5KS5NX1gguJ37DUdBW3BHScNuEbKG2Y6CSKIz+eTz+drvF9RUWEwDQCYwdT5JUqMd8k97Hqp/2TJde6+m4gS6V2k8d+nZOKiFRQUKC0trfGWm5trOhIAtDmKZktYltRzrPS126SUDqbToDVZLqnvldLXbpWSMkynQQRasGCBysvLG29FRUWmIwFAm2PqvDWkdZauuEM69I706SYpFDCdCC2RlNlwbsz0HNNJEMG8Xq+8XvbnBRDbKJqtxeWSeo2TOg+QdrwmnTpoOhEuljtO6n1Fwyg1u0MAANBiFM3W1q59wzWvj+2Qdq2T6qtNJ0JzdOovDbhaSkwznQQOVVVVpf379zfeP3TokD766CNlZGQoLy/PYDIAcC6KZrh0GSxl95Y+3SgVbpPskOlEOJ+kTGnQVCmrp+kkcLj3339fV111VeP9+fPnS5Jmz56tFStWGEoFAM5G0Qyn+MSGEtNjlPTpBun4J6YT4XNxCQ27OvQYzTQ5mmXixImybdt0DACIKBTNtpCUIQ29vmHfvz1vsv+mSe74huLfc2xD2QQAAGFD0WxLaZ0b9t88dUja+6Z09rjpRLHDHSd1G9FQML1JptMAABATKJomZPWQsr4nnT4iHXxHKtlnOlH08sQ3FMweYyiYAAC0MYqmSZndGm5Vp6SD7zYcqc45OFtHUqbUfaTUNV/ycC5DAABMoGg6QXKWlH+t1O8q6ch7UuGHkq/KdKoIZEkd+zQUTI4iBwDAOIqmk3iTpL4TpT4TpNKD0tHtUvGnjHJ+FW+K1GVQwxR5u3TTaQAAwGcomk5kuaQOvRtu/jrpxK6G0ll21HQy54hvJ3W6TMoZKGV0a7juPAAAcBSX6QD4CnEJUt4w6Wu3SRPvlC6b/FmxisH/dR6v1CVfGnmTNOnH0uBvSpndW1wyV65cqczMTPl8vibLZ8yYoe985zuSpNWrV2vYsGFKSEhQz549tWjRIgUCDSPNtm3rgQceUF5enrxer3JycnT33Xe3KBMAANGAEc1IkpQp9RrbcPPXSaUHGo5YL9kv+WtNp2t9liWl5Xx2lH5PqX3XsJxcfebMmbr77rv15z//WTNnzpQklZSU6NVXX9XatWu1efNm3XLLLfrtb3+r8ePH68CBA/r+978vSVq4cKH+9Kc/6dFHH9WqVas0cOBAnTx5Utu3b2/1nAAARBqKZqSKS2iYNs4ZKNm2dPaYdKZIOnu0YYo9Ug8mSsqQMnt8Vi57tMlJ1RMTE3XzzTfr6aefbiyazz77rPLy8jRx4kRdffXV+pd/+RfNnj1bktSzZ0/9/Oc/17333quFCxeqsLBQnTp10uTJkxUXF6e8vDyNGjUq7LkBAHA6y+aaatGp5uxnpfNYw79Vp6RAvelUTSVlSmmdGk5kn9q54WtDV+v58MMPNXLkSB05ckRdunRRfn6+Zs6cqfvuu0/Z2dmqqqqS2/230dRgMKi6ujpVV1fr9OnTGjdunGzb1tSpU/WNb3xD06dPl8fD5zj8TUVFhdLS0lReXq7U1NRL2sb/bC1t5VRwqhtGZRv72WfXPG7sZ6NtpU+965If29y/abwTRqt26Q23nEF/W1ZXKVWflqpON/xbfabh67qK8BzZbllSQqqUmP63PIlpUrsMKbWDo85vOXToUA0ZMkQrV67UNddco08++USvvvqqJKmqqkqLFi3S9ddff87jEhISlJubq71792r9+vVat26d7rzzTv3617/Wxo0bFRcX19ZPBQAAx6BoxpKElIZbZvdzv+f3SfVVkq+6YX/P+rqGf4N+SXbD9LwdavqvZTWUxbiEhn89Xinu838TG0qmK3IOWrr99tu1dOlSHTt2TJMnT1Zubq4kadiwYdq7d6969+59wccmJiZq+vTpmj59uubMmaPLLrtMO3bs0LBhw9oqPgAAjkPRRIO4z0piUqbpJMbcfPPNuueee7R8+XKtXLmycfn999+va6+9Vnl5ebrhhhvkcrm0fft27dy5U7/4xS+0YsUKBYNBjR49Wu3atdOzzz6rxMREdevWzeCzAQDAvMgZbgLCLC0tTd/61reUnJysGTNmNC6fMmWKXnnlFa1du1YjR47UmDFj9OijjzYWyfT0dC1fvlzjxo1Tfn6+1q9fr5dfflmZmbFb2gEAkBjRBJo4duyYZs2aJa+36f6jU6ZM0ZQpU877mBkzZjQppgAAoAFFE5BUVlamDRs2aMOGDfq3f/s303EAAIgKFE1ADUedl5WV6eGHH1a/fv1MxwEAICpQNAFJhw8fNh0BAICow8FAAAAACAuKJgAAAMKCogkAAICwoGgCAAAgLCiaAAAACAuKJgAAAMKCogkAAICwoGgCAAAgLCiaAAAACAuKJgAAAMKCogkAAICwoGgCAAAgLCiaAAAACAuKJgAAAMKCogkAAICwoGgCwEX4/e9/r+7duyshIUGjR4/W1q1bTUcCAMeiaAJAMz3//POaP3++Fi5cqA8++EBDhgzRlClTVFJSYjoaADgSRRMAmmnJkiW64447dNttt2nAgAH693//d7Vr107/+Z//aToaADgSRRMAmqG+vl7btm3T5MmTG5e5XC5NnjxZ77zzjsFkAOBcHtMBACASnDp1SsFgUB07dmyyvGPHjtqzZ8856/t8Pvl8vsb75eXlkqSKiopLzlBTVXnJj0VkqajwmvvZ1bXGfjbalqsFf48+/1tm2/aXrkfRBIAwKCgo0KJFi85ZnpubayANAJzPT1u8hcrKSqWlpV3w+xRNAGiGrKwsud1uFRcXN1leXFysTp06nbP+ggULNH/+/Mb7oVBIZ86cUWZmpizLCnveaFBRUaHc3FwVFRUpNTXVdBxEKV5nl8a2bVVWVionJ+dL16NoAkAzxMfHa/jw4XrjjTc0Y8YMSQ3l8Y033tDcuXPPWd/r9crrbTr9mZ6e3gZJo09qaioFAGHH6+zifdlI5ucomgDQTPPnz9fs2bM1YsQIjRo1SkuXLlV1dbVuu+0209EAwJEomgDQTDfeeKNKS0t1//336+TJk7r88su1Zs2acw4QAgA0oGgCwEWYO3fueafK0fq8Xq8WLlx4zi4IQGvidRZelv1Vx6UDAAAAl4ATtgMAACAsKJoAAAAIC4omAAAAwoKiCQAAgLCgaAIAACAsKJoAAKMmTpyou+++W/fee68yMjLUqVMnPfDAA43fLyws1HXXXafk5GSlpqbq29/+9jmXAgW+aOXKlcrMzJTP52uyfMaMGfrOd74jSVq9erWGDRumhIQE9ezZU4sWLVIgEJDUcInFBx54QHl5efJ6vcrJydHdd9/d5s8j0lE0AQDGPfPMM0pKStKWLVv0q1/9SosXL9a6desUCoV03XXX6cyZM9q4caPWrVungwcP6sYbbzQdGQ43c+ZMBYNB/fnPf25cVlJSoldffVXf/e53tXnzZt1yyy2aN2+edu3apSeeeEIrVqzQgw8+KEn605/+pEcffVRPPPGE9u3bp5deekmDBw829XQiFufRBAAYNXHiRAWDQW3evLlx2ahRo/T1r39dkyZN0rRp03To0CHl5uZKknbt2qWBAwdq69atGjlypKnYiAB33nmnDh8+rNdee02StGTJEv3+97/X/v37dfXVV2vSpElasGBB4/rPPvus7r33Xh0/flxLlizRE088oZ07dyouLs7UU4h4jGgCAIzLz89vcr9z584qKSnR7t27lZub21gyJWnAgAFKT0/X7t272zomIswdd9yhtWvX6tixY5KkFStW6NZbb5VlWdq+fbsWL16s5OTkxtsdd9yhEydOqKamRjNnzlRtba169uypO+64Qy+++GLjtDqaj0tQAgCM++KIkWVZCoVChtIgWgwdOlRDhgzRypUrdc011+iTTz7Rq6++KkmqqqrSokWLdP3115/zuISEBOXm5mrv3r1av3691q1bpzvvvFO//vWvtXHjRkY4LwJFEwDgWP3791dRUZGKioqaTJ2fPXtWAwYMMJwOkeD222/X0qVLdezYMU2ePLnxdTRs2DDt3btXvXv3vuBjExMTNX36dE2fPl1z5szRZZddph07dmjYsGFtFT/iUTQBAI41efJkDR48WLNmzdLSpUsVCAR055136sorr9SIESNMx0MEuPnmm3XPPfdo+fLlWrlyZePy+++/X9dee63y8vJ0ww03yOVyafv27dq5c6d+8YtfaMWKFQoGgxo9erTatWunZ599VomJierWrZvBZxN52EcTAOBYlmVp9erVat++vSZMmKDJkyerZ8+eev75501HQ4RIS0vTt771LSUnJ2vGjBmNy6dMmaJXXnlFa9eu1ciRIzVmzBg9+uijjUUyPT1dy5cv17hx45Sfn6/169fr5ZdfVmZmpqFnEpk46hwAAES1SZMmaeDAgfrtb39rOkrMoWgCAICoVFZWpg0bNuiGG27Qrl271K9fP9ORYg77aAIAgKg0dOhQlZWV6eGHH6ZkGsKIJgAAAMKCg4EAAAAQFhRNAAAAhAVFEwAAAGFB0QQAAEBYUDQBAAAQFhRNAABaycSJE/WjH/3IdAzAMSiaAACgxbp3766lS5eajgGHoWgCAAAgLCiaAAC0okAgoLlz5yotLU1ZWVm677779Pm1Uf7whz9oxIgRSklJUadOnXTzzTerpKSk8bFlZWWaNWuWsrOzlZiYqD59+ujpp59u/H5RUZG+/e1vKz09XRkZGbruuut0+PDhxu/feuutmjFjhn75y1+qY8eOSk9P1+LFixUIBPSTn/xEGRkZ6tq1a5NtXsx2H3nkEXXu3FmZmZmaM2eO/H6/pIZdBo4cOaIf//jHsixLlmWF4b8sIhFFEwCAVvTMM8/I4/Fo69ateuyxx7RkyRI9+eSTkiS/36+f//zn2r59u1566SUdPnxYt956a+Nj77vvPu3atUuvv/66du/erWXLlikrK6vxsVOmTFFKSoo2b96st99+W8nJyZo6darq6+sbt/Hmm2/q+PHj2rRpk5YsWaKFCxfq2muvVfv27bVlyxb94Ac/0D//8z/r6NGjF7Xdt956SwcOHNBbb72lZ555RitWrNCKFSskSf/7v/+rrl27avHixTpx4oROnDgR5v/KiBg2AABoFVdeeaXdv39/OxQKNS776U9/avfv3/+867/33nu2JLuystK2bduePn26fdttt5133T/84Q92v379mmzb5/PZiYmJ9l/+8hfbtm179uzZdrdu3exgMNi4Tr9+/ezx48c33g8EAnZSUpL93HPPXfR2A4FA4zozZ860b7zxxsb73bp1sx999NEv/w+EmMOIJgAArWjMmDFNpo7Hjh2rffv2KRgMatu2bZo+fbry8vKUkpKiK6+8UpJUWFgoSfrhD3+oVatW6fLLL9e9996rv/71r43b2b59u/bv36+UlBQlJycrOTlZGRkZqqur04EDBxrXGzhwoFyuv729d+zYUYMHD26873a7lZmZ2ThlfzHbdbvdjfc7d+7cZNofOB+P6QAAAMSCuro6TZkyRVOmTNEf//hHZWdnq7CwUFOmTGmcop42bZqOHDmi1157TevWrdOkSZM0Z84cPfLII6qqqtLw4cP1xz/+8ZxtZ2dnN34dFxfX5HuWZZ13WSgUkqQWbffzbQAXQtEEAKAVbdmypcn9d999V3369NGePXt0+vRpPfTQQ8rNzZUkvf/+++c8Pjs7W7Nnz9bs2bM1fvx4/eQnP9EjjzyiYcOG6fnnn1eHDh2Umpraanlba7vx8fEKBoOtlgvRgalzAABaUWFhoebPn6+9e/fqueee0+OPP6558+YpLy9P8fHxevzxx3Xw4EH9+c9/1s9//vMmj73//vu1evVq7d+/X5988oleeeUV9e/fX5I0a9YsZWVl6brrrtPmzZt16NAhbdiwQXfffXfjgT2XorW22717d23atEnHjh3TqVOnLjkPogtFEwCAVnTLLbeotrZWo0aN0pw5czRv3jx9//vfV3Z2tlasWKEXXnhBAwYM0EMPPaRHHnmkyWPj4+O1YMEC5efna8KECXK73Vq1apUkqV27dtq0aZPy8vJ0/fXXq3///vre976nurq6Fo1EttZ2Fy9erMOHD6tXr15NptwR2yzb/uzkXgAAAEArYkQTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACEBUUTAAAAYUHRBAAAQFhQNAEAABAWFE0AAACExf8Hcg8S/MVaxjcAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "mainroad_count = cleaned_house_price['basement'].value_counts()\n",
    "mainroad_label = mainroad_count.index\n",
    "axes[0].pie(mainroad_count, labels=mainroad_label)\n",
    "sns.barplot(cleaned_house_price, x='basement', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有热水器与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApsAAAFUCAYAAABrxPeYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7FklEQVR4nO3deXhU9d3//9eZJZN9T0gCCRD2LeyigoC3KGKhUBWtUsW20vv7E0VLqS1d2KqNtlWxdy21VkXwrnpbL0WlN4LcghYXKCKCIGsgYUtYQvZMMjPn90fq1MhiApmcWZ6P65qLzJkzM+8JMzmv+WzHME3TFAAAABAANqsLAAAAQPgibAIAACBgCJsAAAAIGMImAAAAAoawCQAAgIAhbAIAACBgCJsAAAAIGMImAAAAAoawCQAAgIAhbAIAACBgCJsAECTeffddTZo0STk5OTIMQ6+99lqrH8M0Tf3ud79Tz5495XK51LFjRz344INtXywAtJDD6gIAAE1qamo0cOBAfe9739P1119/QY9x7733avXq1frd736nAQMG6NSpUzp16lQbVwoALWeYpmlaXQQAoDnDMPTqq69qypQp/m1ut1s///nP9cILL+j06dPq37+/Hn74YY0dO1aStHPnThUUFGj79u3q1auXNYUDwFfQjQ4AIeLuu+/WBx98oBdffFGffvqppk6dqmuvvVZ79uyRJL3xxhvKz8/Xm2++qa5du6pLly668847adkEYCnCJgCEgOLiYj377LN6+eWXdcUVV6hbt26aM2eORo0apWeffVaStH//fh08eFAvv/yyli1bpqVLl2rz5s268cYbLa4eQCRjzCYAhIBt27bJ6/WqZ8+ezba73W6lpaVJknw+n9xut5YtW+bf7+mnn9bQoUO1a9cuutYBWIKwCQAhoLq6Wna7XZs3b5bdbm92W3x8vCQpOztbDoejWSDt06ePpKaWUcImACsQNgEgBAwePFher1dlZWW64oorzrrPyJEj5fF4tG/fPnXr1k2StHv3bklS586d261WAPgyZqMDQJCorq7W3r17JTWFy0cffVRXXnmlUlNTlZeXp+985zvasGGDHnnkEQ0ePFjHjx/X2rVrVVBQoG984xvy+XwaPny44uPjtXjxYvl8Ps2cOVOJiYlavXq1xa8OQKQibAJAkFi3bp2uvPLKM7ZPnz5dS5cuVWNj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7z5jf5fLJZereZdocnJyO1QaXhITEwkDCBjeXy13vhbNLxA2AeAizZ49W9OnT9ewYcN0ySWXaPHixaqpqdF3v/tdq0sDAMsRNgHgIt188806fvy45s2bp2PHjmnQoEFatWrVGZOGACASETYBoA3cfffdZ+02R9tyuVyaP3/+GUMRgLbA+yswDPPr5qsDAAAAF4hF3QEAABAwhE0AAAAEDGETAAAAAUPYBAAAQMAQNgEAABAwhE0AQNAZO3asZs2apfvvv1+pqanKysrSggUL/LcXFxdr8uTJio+PV2Jiom666aYzThkKSNKyZcuUlpYmt9vdbPuUKVN02223SZJWrFihIUOGKDo6Wvn5+Vq4cKE8Ho+kplMyLliwQHl5eXK5XMrJydGsWbPa/XWEMsImACAoPffcc4qLi9NHH32k3/zmN1q0aJHWrFkjn8+nyZMn69SpU1q/fr3WrFmj/fv36+abb7a6ZAShqVOnyuv16vXXX/dvKysr08qVK/W9731P7733nm6//Xbde++92rFjh5588kktXbpUDz74oCTplVde0WOPPaYnn3xSe/bs0WuvvaYBAwZY9XJCEutsAgCCztixY+X1evXee+/5t11yySX6j//4D1111VWaMGGCioqKlJubK0nasWOH+vXrp40bN2r48OFWlY0gddddd+nAgQP6+9//Lkl69NFH9cQTT2jv3r26+uqrddVVV2nu3Ln+/Z9//nndf//9OnLkiB599FE9+eST2r59u5xOp1UvIaTRsgkACEoFBQXNrmdnZ6usrEw7d+5Ubm6uP2hKUt++fZWcnKydO3e2d5kIATNmzNDq1at1+PBhSdLSpUt1xx13yDAMbd26VYsWLVJ8fLz/MmPGDB09elS1tbWaOnWq6urqlJ+frxkzZujVV1/1d7GjZThdJQAgKH21FckwDPl8PouqQSgbPHiwBg4cqGXLlumaa67RZ599ppUrV0qSqqurtXDhQl1//fVn3C86Olq5ubnatWuX3n77ba1Zs0Z33XWXfvvb32r9+vW0dLYQYRMAEFL69OmjkpISlZSUNOtGP336tPr27WtxdQhWd955pxYvXqzDhw9r3Lhx/vfOkCFDtGvXLnXv3v2c942JidGkSZM0adIkzZw5U71799a2bds0ZMiQ9io/pBE2AQAhZdy4cRowYICmTZumxYsXy+Px6K677tKY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KikpUUlJib91c8eOHTp9+rT69u0rSYqKipLX6z3jvmPGjNEzzzwjh8Oha6+9VlJTAH3hhRe0e/dujR071r/vhg0b9Mc//lHXXXedJKmkpEQnTpxo9nhOp/OM5xkyZIh27dql7t27t9lrlppab10ul4qLi5u1wH7Zhg0bdPnll+uuu+7yb/tyq6d07t9Na/Xq1UubNm3S7bff7t+2adOmi35ctA/CJgAA5zBu3DgNGDBA06ZN0+LFi+XxeHTXXXdpzJgx/q7pLl26qKioSJ988ok6deqkhIQEuVwujR49WlVVVXrzzTf10EMPSWoKmzfeeKOys7PVs2dP//P06NFDy5cv17Bhw1RZWakf//jHiomJaVZLly5dtHbtWo0cOVIul0spKSmaN2+eJk6cqLy8PN14442y2WzaunWrtm/frgceeOCCX3dCQoLmzJmjH/7wh/L5fBo1apQqKiq0YcMGJSYmavr06erRo4eWLVumt956S127dtXy5cu1adMmde3atVnNb731lnbt2qW0tDQlJSVdUD333HOPZsyYoWHDhunyyy/XSy+9pE8//VT5+fkX/BrRfhizCQDAORiGoRUrViglJUWjR4/WuHHjlJ+fr5deesm/zw033KBrr71WV155pTIyMvTCCy9IklJSUjRgwABlZGSod+/ekqTRo0fL5/Od0Vr49NNPq7y8XEOGDNFtt92mWbNmKTMzs9k+jzzyiNasWaPc3FwNHjxYkjR+/Hi9+eabWr16tYYPH65LL71Ujz32mDp37nzRr/1Xv/qVfvnLX6qwsFB9+vTRtddeq5UrV/rD5H/+53/q+uuv180336wRI0bo5MmTzVo5JWnGjBnq1auXhg0bpoyMDG3YsOGCapk2bZrmzp2rOXPmaMiQISoqKtIdd9zRbKgAgpdhmqZpdREAAACtcfXVVysrK0vLly+3uhR8DbrRAQBAUKutrdWf/vQnjR8/Xna7XS+88ILefvttrVmzxurS0AK0bAIAgKBWV1enSZMmacuWLaqvr1evXr30i1/84qyz8BF8CJsAAAAIGCYIAQAAIGAImwAAAAgYwiYAAAAChrAJAACAgCFsAgAAIGAImwAAAAgYwiYAAAAChrAJAACAgCFsAgAAIGD+f7a26aOALNdvAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "hotwaterheating_count = cleaned_house_price['hotwaterheating'].value_counts()\n",
    "hotwaterheating_label = hotwaterheating_count.index\n",
    "axes[0].pie(hotwaterheating_count, labels=hotwaterheating_label)\n",
    "sns.barplot(cleaned_house_price, x='hotwaterheating', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否有空调与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7Fht2LCh1QlCAIAmFE0AaIdFixadcqocXc/tduu+++5rdQgC0JX4PgstwzzbeekAAABAB7BgOwAAAEKCogkAAICQoGgCAAAgJCiaAAAACAmKJgAAAEKCogkAsNTUqVO1ePFi3XPPPerZs6f69eun+++/v/n+oqIiXX311UpMTFRSUpK+8Y1vtLoUKPBVa9euVVpamrxeb4vts2fP1s033yxJeumll5SXl6e4uDjl5ORo2bJl8vv9kpousXj//fcrMzNTbrdb6enpWrx4cbe/jnBH0QQAWO7pp59WQkKC3n//ff3sZz/TAw88oNdff13BYFBXX321ysrKtHXrVr3++us6ePCgbrjhBqsjw+bmzJmjQCCgP//5z83bSkpK9Oqrr+rb3/623n77bd1yyy268847tW/fPj3++ONas2aNHnzwQUnSCy+8oEceeUSPP/649u/fr/Xr12v06NFWvZywxTqaAABLTZ06VYFAQG+//XbztkmTJulrX/uapk2bppkzZ+rQoUPKyMiQJO3bt08jR47Utm3bNHHiRKtiIwzcfvvtOnz4sP7v//5PkrRixQr95je/0YEDB3TZZZdp2rRpWrp0afP+zzzzjO655x4dPXpUK1as0OOPP669e/cqJibGqpcQ9hjRBABYLjc3t8Xn/fv3V0lJifLz85WRkdFcMiVpxIgRSklJUX5+fnfHRJhZsGCBNm7cqCNHjkiS1qxZo/nz58swDO3atUsPPPCAEhMTm28LFizQsWPHVFdXpzlz5qi+vl45OTlasGCBXnzxxeZpdbQdl6AEAFjuqyNGhmEoGAxalAaRYty4cRozZozWrl2rr3/96/r73/+uV199VZJUU1OjZcuW6dprr231dXFxccrIyFBBQYE2bdqk119/Xbfffrt+/vOfa+vWrYxwtgNFEwBgW8OHD1dxcbGKi4tbTJ1XVFRoxIgRFqdDOLj11lu1cuVKHTlyRNOnT2/+PsrLy1NBQYEGDx582q/1eDyaNWuWZs2apYULF2rYsGHas2eP8vLyuit+2KNoAgBsa/r06Ro9erTmzp2rlStXyu/36/bbb9cll1yiCRMmWB0PYeCmm27S3XffrdWrV2vt2rXN2++9915dddVVyszM1PXXXy+Hw6Fdu3Zp7969+slPfqI1a9YoEAjovPPOU3x8vJ555hl5PB4NGjTIwlcTfjhGEwBgW4Zh6KWXXlJqaqqmTJmi6dOnKycnR88995zV0RAmkpOTdd111ykxMVGzZ89u3j5jxgy98sor2rhxoyZOnKjzzz9fjzzySHORTElJ0erVqzV58mTl5uZq06ZNevnll5WWlmbRKwlPnHUOAAAi2rRp0zRy5Eg99thjVkeJOhRNAAAQkcrLy7VlyxZdf/312rdvn4YOHWp1pKjDMZoAACAijRs3TuXl5Xr44YcpmRZhRBMAAAAhwclAAAAACAmKJgAAAEKCogkAAICQoGgCAAAgJCiaAAAACAmKJgAAZ3H48GEZhqGPPvrI6iinlJWVpZUrVzZ/bhiG1q9ff8avmT9/fosr5XSF+++/X2PHju3Sx0R4Y3kjAADOIhAIqLS0VL169ZLLZb8lqLOysnTXXXfprrvukiQdP35cqampcrvdOnz4sLKzs7Vz584WJbCyslKmaSolJaXLctTU1Mjr9XKZRjSz308LAAA243Q61a9fv9Peb5qmAoGAbUrombJ+ITk5ucufNzExUYmJiV3+uAhfTJ0DACBpw4YNuuiii5SSkqK0tDRdddVVKiwslNR66nzLli0yDEN/+ctfNH78eLndbv31r39VMBjUz372Mw0ePFhut1uZmZl68MEHm59jz549+trXviaPx6O0tDTddtttqqmpab7/i+nsX/ziF+rfv7/S0tK0cOFC+Xy+5n1KSko0a9YseTweZWdn6w9/+EOr1/LlqfPs7GxJTVfJMQxDU6dObfFcX/B6vVq8eLH69OmjuLg4XXTRRdq+fXvz/V+85s2bN2vChAmKj4/XhRdeqIKCguZ9vjp13pbXc+zYMV155ZXNr+fZZ59tdSgAwhdFEwAASbW1tVqyZIk++OADbd68WQ6HQ9dcc42CweBpv+b73/++HnroIeXn5ys3N1dLly7VQw89pB//+Mfat2+fnn32WfXt27f58WfMmKHU1FRt375dzz//vDZt2qRFixa1eMw333xThYWFevPNN/X0009rzZo1WrNmTfP98+fPV3Fxsd5880396U9/0m9/+1uVlJScNuO2bdskSZs2bdKxY8f0v//7v6fc75577tELL7ygp59+Wh9++KEGDx6sGTNmqKysrMV+P/zhD/XLX/5SH3zwgVwul7797W+f8f/1bK/nlltu0dGjR7Vlyxa98MILeuKJJ874ehBmTAAA0EppaakpydyzZ4956NAhU5K5c+dO0zRN88033zQlmevXr2/ev6qqynS73ebq1atP+XhPPPGEmZqaatbU1DRve/XVV02Hw2EeP37cNE3TnDdvnjlo0CDT7/c37zNnzhzzhhtuME3TNAsKCkxJ5rZt25rvz8/PNyWZjzzySPM2SeaLL75omqbZKvsX5s2bZ1599dWmaZpmTU2NGRMTY/7hD39ovr+xsdFMT083f/azn7V4zZs2bWqRX5JZX19vmqZp3nfffeaYMWNaPMeZXs8X2bdv3958//79+1u9HoQvRjQBAJC0f/9+3XjjjcrJyVFSUpKysrIkSUVFRaf9mgkTJjR/nJ+fL6/Xq2nTpp1y3/z8fI0ZM0YJCQnN2yZPnqxgMNhi+nnkyJFyOp3Nn/fv3795hC8/P18ul0vjx49vvn/YsGGdPqGnsLBQPp9PkydPbt4WExOjSZMmKT8/v8W+ubm5LbJJOuMI5JleT0FBgVwul/Ly8prvHzx4sFJTUzv1emAf9jhqGQAAi82aNUuDBg3S6tWrlZ6ermAwqFGjRqmxsfG0X/Pl0ujxeLokR0xMTIvPDcM44/R9d/tyPsMwJOmM+ez+ehBajGgCAKLeyZMnVVBQoB/96EeaNm2ahg8frvLy8nY9xpAhQ+TxeLR58+ZT3j98+HDt2rVLtbW1zdveeecdORwODR06tE3PMWzYMPn9fu3YsaN5W0FBgSoqKk77NbGxsZKalmg6nXPOOUexsbF65513mrf5fD5t375dI0aMaFO2jhg6dKj8fr927tzZvO3AgQPt/r+HfVE0AQBRLzU1VWlpaXriiSd04MABvfHGG1qyZEm7HiMuLk7f+973dM8992jt2rUqLCzUe++9pyeffFKSNHfuXMXFxWnevHnau3ev3nzzTd1xxx26+eabm08YOpuhQ4fq8ssv17/927/p/fff144dO3TrrbeecTS1T58+8ng82rBhg06cOKHKyspW+yQkJOg//uM/9P/+3//Thg0btG/fPi1YsEB1dXX6zne+067/h/YYNmyYpk+frttuu03btm3Tzp07ddttt8nj8TSPliK8UTQBAFHP4XBo3bp12rFjh0aNGqXvfve7+vnPf97ux/nxj3+s//zP/9S9996r4cOH64Ybbmg+HjE+Pl6vvfaaysrKNHHiRF1//fWaNm2afv3rX7frOZ566imlp6frkksu0bXXXqvbbrtNffr0Oe3+LpdLjz32mB5//HGlp6fr6quvPuV+Dz30kK677jrdfPPNysvL04EDB/Taa6+F/HjJtWvXqm/fvpoyZYquueYaLViwQD169FBcXFxInxfdgysDAQAA2/jss8+UkZGhTZs2nfbEKoQPiiYAALDMG2+8oZqaGo0ePVrHjh3TPffcoyNHjuiTTz5pdSIRwg9nnQMAAMv4fD794Ac/0MGDB9WjRw9deOGF+sMf/kDJjBCMaAIAACAkOBkIAAAAIUHRBAAAQEhQNAEAABASFE0AAACEBEUTAAAAIUHRBAAAQEhQNAEAABASFE0AAACEBEUTAAAAIfH/AS01tJXKlrIEAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "airconditioning_count = cleaned_house_price['airconditioning'].value_counts()\n",
    "airconditioning_label = hotwaterheating_count.index\n",
    "axes[0].pie(airconditioning_count, labels=airconditioning_label)\n",
    "sns.barplot(cleaned_house_price, x='airconditioning', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 是否位于城市首选社区与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "prefarea_count = cleaned_house_price['prefarea'].value_counts()\n",
    "prefarea_label = prefarea_count.index\n",
    "axes[0].pie(prefarea_count, labels=prefarea_label)\n",
    "sns.barplot(cleaned_house_price, x='prefarea', y='price', ax=axes[1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 装修状态与房价"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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z4MKDwMkERHROzg6OiIuLk7zfVJSEu7fv18o95LL5WjRogXmzp2LK1euIDY2FocOHSqUewFApUqV8ozzfNu4z4oVK+Krr75CZGQkOnfujN9++w0AYGJiApVKlevYW7du4dWrV5g9ezaaNGmCypUr52klNTExAYA85+bnszY3N0dgYCAWLlyIqKgonDp1ClevXtXyndOH4BhIIiKid2jevDnCwsIQGBgIOzs7TJ48GUZGRgV+n927d+PevXvw9/dHiRIlsHfvXqjValSqVKnA75VjxIgR8Pf3x/z58xEYGIhDhw5h3759mpbK9PR0jB07Fl26dEG5cuXw+PFjnDt3Dp9++imA7C76lJQUHDx4EDVq1ICFhQXc3NxgYmKCRYsWYejQobh27RqmTZuW677u7u4QBAG7d+9G27ZtYW5uDisrq3d+1mFhYVCpVKhfvz4sLCywdu1amJubw93dvdA+I8qLLZBERETvMGHCBHz00Udo164dAgIC0LFjR5QvX77A72NnZ4dt27ahefPm8Pb2xvLly7FhwwZUrVq1wO+Vw8/PD8uXL8f8+fNRo0YNRERE4KuvvoKZmRkAwMjICK9evUKfPn1QsWJFdOvWDW3atEFwcDAAoFGjRhg6dCi6d+8OR0dHzJ07F46OjggLC8PmzZtRpUoVzJ49G/Pmzct13zJlyiA4OBjffvstSpUqheHDhwN492dtZ2eHlStXws/PDz4+Pjhw4AB27doFBweHQvuMKC9B/OdAAyIiIirWPv/8c9y6dQvHjh2TuhTSU+zCJiIiKubmzZuHli1bwtLSEvv27cOqVauwdOlSqcsiPcYWSCIiomKuW7duiIqKQnJyMjw9PTFixAgMHTpU6rJIjzFAEhEREZFWOImGiIiIiLTCAElEREREWmGAJCIiIiKtMEASERERkVYYIImIiIhIKwyQRERERKQVBkgiIiIi0goDJBERERFphQGSiIiIiLTyf0lpsFsHJDwDAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, axes = plt.subplots(1, 2)\n",
    "furnishingstatus_count = cleaned_house_price['furnishingstatus'].value_counts()\n",
    "furnishingstatus_label = furnishingstatus_count.index\n",
    "axes[0].pie(furnishingstatus_count, labels=furnishingstatus_label)\n",
    "sns.barplot(cleaned_house_price, x='furnishingstatus', y='price', ax=axes[1])\n",
    "axes[1].set_xticklabels(axes[1].get_xticklabels(), rotation=45, horizontalalignment='right')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分析数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在分析步骤中，我们将利用`cleaned_house_price`的数据，进行线性回归分析，目标是得到一个可以根据房屋各个属性对价格进行预测的数学模型。\n",
    "\n",
    "我们先引入做线性回归所需的模块。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "import statsmodels.api as sm"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "然后可以创建一个新的DataFrame`lr_house_price`，让它作为我们进行线性回归分析所用的数据。\n",
    "\n",
    "和`cleaned_house_price`区分开的原因是，我们在进行回归分析前，还可能需要对数据进行一些准备，比如引入虚拟变量，这些都可以在`lr_house_price`上执行。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr_house_price = cleaned_house_price.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于数据里存在分类变量，无法直接建立线性回归模型。我们需要引入虚拟变量，也就是用0和1分别表示是否属于该分类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>price</th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "      <th>mainroad_yes</th>\n",
       "      <th>guestroom_yes</th>\n",
       "      <th>basement_yes</th>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <th>prefarea_yes</th>\n",
       "      <th>furnishingstatus_semi-furnished</th>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>13300000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12250000</td>\n",
       "      <td>8960</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12250000</td>\n",
       "      <td>9960</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12215000</td>\n",
       "      <td>7500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>11410000</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>540</th>\n",
       "      <td>1820000</td>\n",
       "      <td>3000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>541</th>\n",
       "      <td>1767150</td>\n",
       "      <td>2400</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>542</th>\n",
       "      <td>1750000</td>\n",
       "      <td>3620</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>543</th>\n",
       "      <td>1750000</td>\n",
       "      <td>2910</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>544</th>\n",
       "      <td>1750000</td>\n",
       "      <td>3850</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>545 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        price  area  bedrooms  bathrooms  stories  parking  mainroad_yes  \\\n",
       "0    13300000  7420         4          2        3        2             1   \n",
       "1    12250000  8960         4          4        4        3             1   \n",
       "2    12250000  9960         3          2        2        2             1   \n",
       "3    12215000  7500         4          2        2        3             1   \n",
       "4    11410000  7420         4          1        2        2             1   \n",
       "..        ...   ...       ...        ...      ...      ...           ...   \n",
       "540   1820000  3000         2          1        1        2             1   \n",
       "541   1767150  2400         3          1        1        0             0   \n",
       "542   1750000  3620         2          1        1        0             1   \n",
       "543   1750000  2910         3          1        1        0             0   \n",
       "544   1750000  3850         3          1        2        0             1   \n",
       "\n",
       "     guestroom_yes  basement_yes  hotwaterheating_yes  airconditioning_yes  \\\n",
       "0                0             0                    0                    1   \n",
       "1                0             0                    0                    1   \n",
       "2                0             1                    0                    0   \n",
       "3                0             1                    0                    1   \n",
       "4                1             1                    0                    1   \n",
       "..             ...           ...                  ...                  ...   \n",
       "540              0             1                    0                    0   \n",
       "541              0             0                    0                    0   \n",
       "542              0             0                    0                    0   \n",
       "543              0             0                    0                    0   \n",
       "544              0             0                    0                    0   \n",
       "\n",
       "     prefarea_yes  furnishingstatus_semi-furnished  \\\n",
       "0               1                                0   \n",
       "1               0                                0   \n",
       "2               1                                1   \n",
       "3               1                                0   \n",
       "4               0                                0   \n",
       "..            ...                              ...   \n",
       "540             0                                0   \n",
       "541             0                                1   \n",
       "542             0                                0   \n",
       "543             0                                0   \n",
       "544             0                                0   \n",
       "\n",
       "     furnishingstatus_unfurnished  \n",
       "0                               0  \n",
       "1                               0  \n",
       "2                               0  \n",
       "3                               0  \n",
       "4                               0  \n",
       "..                            ...  \n",
       "540                             1  \n",
       "541                             0  \n",
       "542                             1  \n",
       "543                             0  \n",
       "544                             1  \n",
       "\n",
       "[545 rows x 14 columns]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr_house_price = pd.get_dummies(lr_house_price, drop_first=True, columns=['mainroad', 'guestroom',\n",
    "                                                         'basement', 'hotwaterheating',\n",
    "                                                         'airconditioning','prefarea', \n",
    "                                                         'furnishingstatus'], dtype=int)\n",
    "lr_house_price"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "接下来，我们要把因变量和自变量划分出来。\n",
    "\n",
    "因变量是`price`变量，因为我们进行线性回归的目的，是得到一个能根据其它可能对房屋价格有影响的变量，来预测销售价格的模型。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = lr_house_price['price']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = lr_house_price.drop('price', axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "      <th>mainroad_yes</th>\n",
       "      <th>guestroom_yes</th>\n",
       "      <th>basement_yes</th>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <th>prefarea_yes</th>\n",
       "      <th>furnishingstatus_semi-furnished</th>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>area</th>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bedrooms</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>bathrooms</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>stories</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>parking</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mainroad_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>guestroom_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>basement_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>prefarea_yes</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>furnishingstatus_semi-furnished</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                  area  bedrooms  bathrooms  stories  parking  \\\n",
       "area                              True     False      False    False    False   \n",
       "bedrooms                         False      True      False    False    False   \n",
       "bathrooms                        False     False       True    False    False   \n",
       "stories                          False     False      False     True    False   \n",
       "parking                          False     False      False    False     True   \n",
       "mainroad_yes                     False     False      False    False    False   \n",
       "guestroom_yes                    False     False      False    False    False   \n",
       "basement_yes                     False     False      False    False    False   \n",
       "hotwaterheating_yes              False     False      False    False    False   \n",
       "airconditioning_yes              False     False      False    False    False   \n",
       "prefarea_yes                     False     False      False    False    False   \n",
       "furnishingstatus_semi-furnished  False     False      False    False    False   \n",
       "furnishingstatus_unfurnished     False     False      False    False    False   \n",
       "\n",
       "                                 mainroad_yes  guestroom_yes  basement_yes  \\\n",
       "area                                    False          False         False   \n",
       "bedrooms                                False          False         False   \n",
       "bathrooms                               False          False         False   \n",
       "stories                                 False          False         False   \n",
       "parking                                 False          False         False   \n",
       "mainroad_yes                             True          False         False   \n",
       "guestroom_yes                           False           True         False   \n",
       "basement_yes                            False          False          True   \n",
       "hotwaterheating_yes                     False          False         False   \n",
       "airconditioning_yes                     False          False         False   \n",
       "prefarea_yes                            False          False         False   \n",
       "furnishingstatus_semi-furnished         False          False         False   \n",
       "furnishingstatus_unfurnished            False          False         False   \n",
       "\n",
       "                                 hotwaterheating_yes  airconditioning_yes  \\\n",
       "area                                           False                False   \n",
       "bedrooms                                       False                False   \n",
       "bathrooms                                      False                False   \n",
       "stories                                        False                False   \n",
       "parking                                        False                False   \n",
       "mainroad_yes                                   False                False   \n",
       "guestroom_yes                                  False                False   \n",
       "basement_yes                                   False                False   \n",
       "hotwaterheating_yes                             True                False   \n",
       "airconditioning_yes                            False                 True   \n",
       "prefarea_yes                                   False                False   \n",
       "furnishingstatus_semi-furnished                False                False   \n",
       "furnishingstatus_unfurnished                   False                False   \n",
       "\n",
       "                                 prefarea_yes  \\\n",
       "area                                    False   \n",
       "bedrooms                                False   \n",
       "bathrooms                               False   \n",
       "stories                                 False   \n",
       "parking                                 False   \n",
       "mainroad_yes                            False   \n",
       "guestroom_yes                           False   \n",
       "basement_yes                            False   \n",
       "hotwaterheating_yes                     False   \n",
       "airconditioning_yes                     False   \n",
       "prefarea_yes                             True   \n",
       "furnishingstatus_semi-furnished         False   \n",
       "furnishingstatus_unfurnished            False   \n",
       "\n",
       "                                 furnishingstatus_semi-furnished  \\\n",
       "area                                                       False   \n",
       "bedrooms                                                   False   \n",
       "bathrooms                                                  False   \n",
       "stories                                                    False   \n",
       "parking                                                    False   \n",
       "mainroad_yes                                               False   \n",
       "guestroom_yes                                              False   \n",
       "basement_yes                                               False   \n",
       "hotwaterheating_yes                                        False   \n",
       "airconditioning_yes                                        False   \n",
       "prefarea_yes                                               False   \n",
       "furnishingstatus_semi-furnished                             True   \n",
       "furnishingstatus_unfurnished                               False   \n",
       "\n",
       "                                 furnishingstatus_unfurnished  \n",
       "area                                                    False  \n",
       "bedrooms                                                False  \n",
       "bathrooms                                               False  \n",
       "stories                                                 False  \n",
       "parking                                                 False  \n",
       "mainroad_yes                                            False  \n",
       "guestroom_yes                                           False  \n",
       "basement_yes                                            False  \n",
       "hotwaterheating_yes                                     False  \n",
       "airconditioning_yes                                     False  \n",
       "prefarea_yes                                            False  \n",
       "furnishingstatus_semi-furnished                         False  \n",
       "furnishingstatus_unfurnished                             True  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x.corr().abs() > 0.8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>const</th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "      <th>mainroad_yes</th>\n",
       "      <th>guestroom_yes</th>\n",
       "      <th>basement_yes</th>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <th>prefarea_yes</th>\n",
       "      <th>furnishingstatus_semi-furnished</th>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.0</td>\n",
       "      <td>8960</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.0</td>\n",
       "      <td>9960</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.0</td>\n",
       "      <td>7500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.0</td>\n",
       "      <td>7420</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>540</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3000</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>541</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2400</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>542</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3620</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>543</th>\n",
       "      <td>1.0</td>\n",
       "      <td>2910</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>544</th>\n",
       "      <td>1.0</td>\n",
       "      <td>3850</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>545 rows × 14 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     const  area  bedrooms  bathrooms  stories  parking  mainroad_yes  \\\n",
       "0      1.0  7420         4          2        3        2             1   \n",
       "1      1.0  8960         4          4        4        3             1   \n",
       "2      1.0  9960         3          2        2        2             1   \n",
       "3      1.0  7500         4          2        2        3             1   \n",
       "4      1.0  7420         4          1        2        2             1   \n",
       "..     ...   ...       ...        ...      ...      ...           ...   \n",
       "540    1.0  3000         2          1        1        2             1   \n",
       "541    1.0  2400         3          1        1        0             0   \n",
       "542    1.0  3620         2          1        1        0             1   \n",
       "543    1.0  2910         3          1        1        0             0   \n",
       "544    1.0  3850         3          1        2        0             1   \n",
       "\n",
       "     guestroom_yes  basement_yes  hotwaterheating_yes  airconditioning_yes  \\\n",
       "0                0             0                    0                    1   \n",
       "1                0             0                    0                    1   \n",
       "2                0             1                    0                    0   \n",
       "3                0             1                    0                    1   \n",
       "4                1             1                    0                    1   \n",
       "..             ...           ...                  ...                  ...   \n",
       "540              0             1                    0                    0   \n",
       "541              0             0                    0                    0   \n",
       "542              0             0                    0                    0   \n",
       "543              0             0                    0                    0   \n",
       "544              0             0                    0                    0   \n",
       "\n",
       "     prefarea_yes  furnishingstatus_semi-furnished  \\\n",
       "0               1                                0   \n",
       "1               0                                0   \n",
       "2               1                                1   \n",
       "3               1                                0   \n",
       "4               0                                0   \n",
       "..            ...                              ...   \n",
       "540             0                                0   \n",
       "541             0                                1   \n",
       "542             0                                0   \n",
       "543             0                                0   \n",
       "544             0                                0   \n",
       "\n",
       "     furnishingstatus_unfurnished  \n",
       "0                               0  \n",
       "1                               0  \n",
       "2                               0  \n",
       "3                               0  \n",
       "4                               0  \n",
       "..                            ...  \n",
       "540                             1  \n",
       "541                             0  \n",
       "542                             1  \n",
       "543                             0  \n",
       "544                             1  \n",
       "\n",
       "[545 rows x 14 columns]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = sm.add_constant(x)\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = sm.OLS(y, x).fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>          <td>price</td>      <th>  R-squared:         </th> <td>   0.682</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.674</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   87.52</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Wed, 01 Nov 2023</td> <th>  Prob (F-statistic):</th> <td>9.07e-123</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>20:56:38</td>     <th>  Log-Likelihood:    </th> <td> -8331.5</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   545</td>      <th>  AIC:               </th> <td>1.669e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>   531</td>      <th>  BIC:               </th> <td>1.675e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>    13</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "                 <td></td>                    <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th>                           <td> 4.277e+04</td> <td> 2.64e+05</td> <td>    0.162</td> <td> 0.872</td> <td>-4.76e+05</td> <td> 5.62e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>area</th>                            <td>  244.1394</td> <td>   24.289</td> <td>   10.052</td> <td> 0.000</td> <td>  196.425</td> <td>  291.853</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>bedrooms</th>                        <td> 1.148e+05</td> <td> 7.26e+04</td> <td>    1.581</td> <td> 0.114</td> <td>-2.78e+04</td> <td> 2.57e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>bathrooms</th>                       <td> 9.877e+05</td> <td> 1.03e+05</td> <td>    9.555</td> <td> 0.000</td> <td> 7.85e+05</td> <td> 1.19e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>stories</th>                         <td> 4.508e+05</td> <td> 6.42e+04</td> <td>    7.026</td> <td> 0.000</td> <td> 3.25e+05</td> <td> 5.77e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>parking</th>                         <td> 2.771e+05</td> <td> 5.85e+04</td> <td>    4.735</td> <td> 0.000</td> <td> 1.62e+05</td> <td> 3.92e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>mainroad_yes</th>                    <td> 4.213e+05</td> <td> 1.42e+05</td> <td>    2.962</td> <td> 0.003</td> <td> 1.42e+05</td> <td> 7.01e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>guestroom_yes</th>                   <td> 3.005e+05</td> <td> 1.32e+05</td> <td>    2.282</td> <td> 0.023</td> <td> 4.18e+04</td> <td> 5.59e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>basement_yes</th>                    <td> 3.501e+05</td> <td>  1.1e+05</td> <td>    3.175</td> <td> 0.002</td> <td> 1.33e+05</td> <td> 5.67e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>hotwaterheating_yes</th>             <td> 8.554e+05</td> <td> 2.23e+05</td> <td>    3.833</td> <td> 0.000</td> <td> 4.17e+05</td> <td> 1.29e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>airconditioning_yes</th>             <td>  8.65e+05</td> <td> 1.08e+05</td> <td>    7.983</td> <td> 0.000</td> <td> 6.52e+05</td> <td> 1.08e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>prefarea_yes</th>                    <td> 6.515e+05</td> <td> 1.16e+05</td> <td>    5.632</td> <td> 0.000</td> <td> 4.24e+05</td> <td> 8.79e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>furnishingstatus_semi-furnished</th> <td>-4.634e+04</td> <td> 1.17e+05</td> <td>   -0.398</td> <td> 0.691</td> <td>-2.75e+05</td> <td> 1.83e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>furnishingstatus_unfurnished</th>    <td>-4.112e+05</td> <td> 1.26e+05</td> <td>   -3.258</td> <td> 0.001</td> <td>-6.59e+05</td> <td>-1.63e+05</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>97.909</td> <th>  Durbin-Watson:     </th> <td>   1.209</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td> <th>  Jarque-Bera (JB):  </th> <td> 258.281</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 0.895</td> <th>  Prob(JB):          </th> <td>8.22e-57</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 5.859</td> <th>  Cond. No.          </th> <td>3.49e+04</td>\n",
       "</tr>\n",
       "</table><br/><br/>Notes:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 3.49e+04. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
      ],
      "text/latex": [
       "\\begin{center}\n",
       "\\begin{tabular}{lclc}\n",
       "\\toprule\n",
       "\\textbf{Dep. Variable:}                   &      price       & \\textbf{  R-squared:         } &     0.682   \\\\\n",
       "\\textbf{Model:}                           &       OLS        & \\textbf{  Adj. R-squared:    } &     0.674   \\\\\n",
       "\\textbf{Method:}                          &  Least Squares   & \\textbf{  F-statistic:       } &     87.52   \\\\\n",
       "\\textbf{Date:}                            & Wed, 01 Nov 2023 & \\textbf{  Prob (F-statistic):} & 9.07e-123   \\\\\n",
       "\\textbf{Time:}                            &     20:56:38     & \\textbf{  Log-Likelihood:    } &   -8331.5   \\\\\n",
       "\\textbf{No. Observations:}                &         545      & \\textbf{  AIC:               } & 1.669e+04   \\\\\n",
       "\\textbf{Df Residuals:}                    &         531      & \\textbf{  BIC:               } & 1.675e+04   \\\\\n",
       "\\textbf{Df Model:}                        &          13      & \\textbf{                     } &             \\\\\n",
       "\\textbf{Covariance Type:}                 &    nonrobust     & \\textbf{                     } &             \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lcccccc}\n",
       "                                          & \\textbf{coef} & \\textbf{std err} & \\textbf{t} & \\textbf{P$> |$t$|$} & \\textbf{[0.025} & \\textbf{0.975]}  \\\\\n",
       "\\midrule\n",
       "\\textbf{const}                            &    4.277e+04  &     2.64e+05     &     0.162  &         0.872        &    -4.76e+05    &     5.62e+05     \\\\\n",
       "\\textbf{area}                             &     244.1394  &       24.289     &    10.052  &         0.000        &      196.425    &      291.853     \\\\\n",
       "\\textbf{bedrooms}                         &    1.148e+05  &     7.26e+04     &     1.581  &         0.114        &    -2.78e+04    &     2.57e+05     \\\\\n",
       "\\textbf{bathrooms}                        &    9.877e+05  &     1.03e+05     &     9.555  &         0.000        &     7.85e+05    &     1.19e+06     \\\\\n",
       "\\textbf{stories}                          &    4.508e+05  &     6.42e+04     &     7.026  &         0.000        &     3.25e+05    &     5.77e+05     \\\\\n",
       "\\textbf{parking}                          &    2.771e+05  &     5.85e+04     &     4.735  &         0.000        &     1.62e+05    &     3.92e+05     \\\\\n",
       "\\textbf{mainroad\\_yes}                    &    4.213e+05  &     1.42e+05     &     2.962  &         0.003        &     1.42e+05    &     7.01e+05     \\\\\n",
       "\\textbf{guestroom\\_yes}                   &    3.005e+05  &     1.32e+05     &     2.282  &         0.023        &     4.18e+04    &     5.59e+05     \\\\\n",
       "\\textbf{basement\\_yes}                    &    3.501e+05  &      1.1e+05     &     3.175  &         0.002        &     1.33e+05    &     5.67e+05     \\\\\n",
       "\\textbf{hotwaterheating\\_yes}             &    8.554e+05  &     2.23e+05     &     3.833  &         0.000        &     4.17e+05    &     1.29e+06     \\\\\n",
       "\\textbf{airconditioning\\_yes}             &     8.65e+05  &     1.08e+05     &     7.983  &         0.000        &     6.52e+05    &     1.08e+06     \\\\\n",
       "\\textbf{prefarea\\_yes}                    &    6.515e+05  &     1.16e+05     &     5.632  &         0.000        &     4.24e+05    &     8.79e+05     \\\\\n",
       "\\textbf{furnishingstatus\\_semi-furnished} &   -4.634e+04  &     1.17e+05     &    -0.398  &         0.691        &    -2.75e+05    &     1.83e+05     \\\\\n",
       "\\textbf{furnishingstatus\\_unfurnished}    &   -4.112e+05  &     1.26e+05     &    -3.258  &         0.001        &    -6.59e+05    &    -1.63e+05     \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lclc}\n",
       "\\textbf{Omnibus:}       & 97.909 & \\textbf{  Durbin-Watson:     } &    1.209  \\\\\n",
       "\\textbf{Prob(Omnibus):} &  0.000 & \\textbf{  Jarque-Bera (JB):  } &  258.281  \\\\\n",
       "\\textbf{Skew:}          &  0.895 & \\textbf{  Prob(JB):          } & 8.22e-57  \\\\\n",
       "\\textbf{Kurtosis:}      &  5.859 & \\textbf{  Cond. No.          } & 3.49e+04  \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "%\\caption{OLS Regression Results}\n",
       "\\end{center}\n",
       "\n",
       "Notes: \\newline\n",
       " [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. \\newline\n",
       " [2] The condition number is large, 3.49e+04. This might indicate that there are \\newline\n",
       " strong multicollinearity or other numerical problems."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                  price   R-squared:                       0.682\n",
       "Model:                            OLS   Adj. R-squared:                  0.674\n",
       "Method:                 Least Squares   F-statistic:                     87.52\n",
       "Date:                Wed, 01 Nov 2023   Prob (F-statistic):          9.07e-123\n",
       "Time:                        20:56:38   Log-Likelihood:                -8331.5\n",
       "No. Observations:                 545   AIC:                         1.669e+04\n",
       "Df Residuals:                     531   BIC:                         1.675e+04\n",
       "Df Model:                          13                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "===================================================================================================\n",
       "                                      coef    std err          t      P>|t|      [0.025      0.975]\n",
       "---------------------------------------------------------------------------------------------------\n",
       "const                            4.277e+04   2.64e+05      0.162      0.872   -4.76e+05    5.62e+05\n",
       "area                              244.1394     24.289     10.052      0.000     196.425     291.853\n",
       "bedrooms                         1.148e+05   7.26e+04      1.581      0.114   -2.78e+04    2.57e+05\n",
       "bathrooms                        9.877e+05   1.03e+05      9.555      0.000    7.85e+05    1.19e+06\n",
       "stories                          4.508e+05   6.42e+04      7.026      0.000    3.25e+05    5.77e+05\n",
       "parking                          2.771e+05   5.85e+04      4.735      0.000    1.62e+05    3.92e+05\n",
       "mainroad_yes                     4.213e+05   1.42e+05      2.962      0.003    1.42e+05    7.01e+05\n",
       "guestroom_yes                    3.005e+05   1.32e+05      2.282      0.023    4.18e+04    5.59e+05\n",
       "basement_yes                     3.501e+05    1.1e+05      3.175      0.002    1.33e+05    5.67e+05\n",
       "hotwaterheating_yes              8.554e+05   2.23e+05      3.833      0.000    4.17e+05    1.29e+06\n",
       "airconditioning_yes               8.65e+05   1.08e+05      7.983      0.000    6.52e+05    1.08e+06\n",
       "prefarea_yes                     6.515e+05   1.16e+05      5.632      0.000    4.24e+05    8.79e+05\n",
       "furnishingstatus_semi-furnished -4.634e+04   1.17e+05     -0.398      0.691   -2.75e+05    1.83e+05\n",
       "furnishingstatus_unfurnished    -4.112e+05   1.26e+05     -3.258      0.001   -6.59e+05   -1.63e+05\n",
       "==============================================================================\n",
       "Omnibus:                       97.909   Durbin-Watson:                   1.209\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              258.281\n",
       "Skew:                           0.895   Prob(JB):                     8.22e-57\n",
       "Kurtosis:                       5.859   Cond. No.                     3.49e+04\n",
       "==============================================================================\n",
       "\n",
       "Notes:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "[2] The condition number is large, 3.49e+04. This might indicate that there are\n",
       "strong multicollinearity or other numerical problems.\n",
       "\"\"\""
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "      <th>mainroad_yes</th>\n",
       "      <th>guestroom_yes</th>\n",
       "      <th>basement_yes</th>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <th>prefarea_yes</th>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7420</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>8960</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>9960</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>7500</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>7420</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>540</th>\n",
       "      <td>3000</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>541</th>\n",
       "      <td>2400</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>542</th>\n",
       "      <td>3620</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>543</th>\n",
       "      <td>2910</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>544</th>\n",
       "      <td>3850</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>545 rows × 11 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     area  bathrooms  stories  parking  mainroad_yes  guestroom_yes  \\\n",
       "0    7420          2        3        2             1              0   \n",
       "1    8960          4        4        3             1              0   \n",
       "2    9960          2        2        2             1              0   \n",
       "3    7500          2        2        3             1              0   \n",
       "4    7420          1        2        2             1              1   \n",
       "..    ...        ...      ...      ...           ...            ...   \n",
       "540  3000          1        1        2             1              0   \n",
       "541  2400          1        1        0             0              0   \n",
       "542  3620          1        1        0             1              0   \n",
       "543  2910          1        1        0             0              0   \n",
       "544  3850          1        2        0             1              0   \n",
       "\n",
       "     basement_yes  hotwaterheating_yes  airconditioning_yes  prefarea_yes  \\\n",
       "0               0                    0                    1             1   \n",
       "1               0                    0                    1             0   \n",
       "2               1                    0                    0             1   \n",
       "3               1                    0                    1             1   \n",
       "4               1                    0                    1             0   \n",
       "..            ...                  ...                  ...           ...   \n",
       "540             1                    0                    0             0   \n",
       "541             0                    0                    0             0   \n",
       "542             0                    0                    0             0   \n",
       "543             0                    0                    0             0   \n",
       "544             0                    0                    0             0   \n",
       "\n",
       "     furnishingstatus_unfurnished  \n",
       "0                               0  \n",
       "1                               0  \n",
       "2                               0  \n",
       "3                               0  \n",
       "4                               0  \n",
       "..                            ...  \n",
       "540                             1  \n",
       "541                             0  \n",
       "542                             1  \n",
       "543                             0  \n",
       "544                             1  \n",
       "\n",
       "[545 rows x 11 columns]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x.drop(['const', 'bedrooms', 'furnishingstatus_semi-furnished'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "model = sm.OLS(y, x).fit()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>          <td>price</td>      <th>  R-squared:         </th> <td>   0.682</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.674</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   87.52</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Wed, 01 Nov 2023</td> <th>  Prob (F-statistic):</th> <td>9.07e-123</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>20:56:38</td>     <th>  Log-Likelihood:    </th> <td> -8331.5</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   545</td>      <th>  AIC:               </th> <td>1.669e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>   531</td>      <th>  BIC:               </th> <td>1.675e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>    13</td>      <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "                 <td></td>                    <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th>                           <td> 4.277e+04</td> <td> 2.64e+05</td> <td>    0.162</td> <td> 0.872</td> <td>-4.76e+05</td> <td> 5.62e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>area</th>                            <td>  244.1394</td> <td>   24.289</td> <td>   10.052</td> <td> 0.000</td> <td>  196.425</td> <td>  291.853</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>bedrooms</th>                        <td> 1.148e+05</td> <td> 7.26e+04</td> <td>    1.581</td> <td> 0.114</td> <td>-2.78e+04</td> <td> 2.57e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>bathrooms</th>                       <td> 9.877e+05</td> <td> 1.03e+05</td> <td>    9.555</td> <td> 0.000</td> <td> 7.85e+05</td> <td> 1.19e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>stories</th>                         <td> 4.508e+05</td> <td> 6.42e+04</td> <td>    7.026</td> <td> 0.000</td> <td> 3.25e+05</td> <td> 5.77e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>parking</th>                         <td> 2.771e+05</td> <td> 5.85e+04</td> <td>    4.735</td> <td> 0.000</td> <td> 1.62e+05</td> <td> 3.92e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>mainroad_yes</th>                    <td> 4.213e+05</td> <td> 1.42e+05</td> <td>    2.962</td> <td> 0.003</td> <td> 1.42e+05</td> <td> 7.01e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>guestroom_yes</th>                   <td> 3.005e+05</td> <td> 1.32e+05</td> <td>    2.282</td> <td> 0.023</td> <td> 4.18e+04</td> <td> 5.59e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>basement_yes</th>                    <td> 3.501e+05</td> <td>  1.1e+05</td> <td>    3.175</td> <td> 0.002</td> <td> 1.33e+05</td> <td> 5.67e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>hotwaterheating_yes</th>             <td> 8.554e+05</td> <td> 2.23e+05</td> <td>    3.833</td> <td> 0.000</td> <td> 4.17e+05</td> <td> 1.29e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>airconditioning_yes</th>             <td>  8.65e+05</td> <td> 1.08e+05</td> <td>    7.983</td> <td> 0.000</td> <td> 6.52e+05</td> <td> 1.08e+06</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>prefarea_yes</th>                    <td> 6.515e+05</td> <td> 1.16e+05</td> <td>    5.632</td> <td> 0.000</td> <td> 4.24e+05</td> <td> 8.79e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>furnishingstatus_semi-furnished</th> <td>-4.634e+04</td> <td> 1.17e+05</td> <td>   -0.398</td> <td> 0.691</td> <td>-2.75e+05</td> <td> 1.83e+05</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>furnishingstatus_unfurnished</th>    <td>-4.112e+05</td> <td> 1.26e+05</td> <td>   -3.258</td> <td> 0.001</td> <td>-6.59e+05</td> <td>-1.63e+05</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>97.909</td> <th>  Durbin-Watson:     </th> <td>   1.209</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td> <th>  Jarque-Bera (JB):  </th> <td> 258.281</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 0.895</td> <th>  Prob(JB):          </th> <td>8.22e-57</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 5.859</td> <th>  Cond. No.          </th> <td>3.49e+04</td>\n",
       "</tr>\n",
       "</table><br/><br/>Notes:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.<br/>[2] The condition number is large, 3.49e+04. This might indicate that there are<br/>strong multicollinearity or other numerical problems."
      ],
      "text/latex": [
       "\\begin{center}\n",
       "\\begin{tabular}{lclc}\n",
       "\\toprule\n",
       "\\textbf{Dep. Variable:}                   &      price       & \\textbf{  R-squared:         } &     0.682   \\\\\n",
       "\\textbf{Model:}                           &       OLS        & \\textbf{  Adj. R-squared:    } &     0.674   \\\\\n",
       "\\textbf{Method:}                          &  Least Squares   & \\textbf{  F-statistic:       } &     87.52   \\\\\n",
       "\\textbf{Date:}                            & Wed, 01 Nov 2023 & \\textbf{  Prob (F-statistic):} & 9.07e-123   \\\\\n",
       "\\textbf{Time:}                            &     20:56:38     & \\textbf{  Log-Likelihood:    } &   -8331.5   \\\\\n",
       "\\textbf{No. Observations:}                &         545      & \\textbf{  AIC:               } & 1.669e+04   \\\\\n",
       "\\textbf{Df Residuals:}                    &         531      & \\textbf{  BIC:               } & 1.675e+04   \\\\\n",
       "\\textbf{Df Model:}                        &          13      & \\textbf{                     } &             \\\\\n",
       "\\textbf{Covariance Type:}                 &    nonrobust     & \\textbf{                     } &             \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lcccccc}\n",
       "                                          & \\textbf{coef} & \\textbf{std err} & \\textbf{t} & \\textbf{P$> |$t$|$} & \\textbf{[0.025} & \\textbf{0.975]}  \\\\\n",
       "\\midrule\n",
       "\\textbf{const}                            &    4.277e+04  &     2.64e+05     &     0.162  &         0.872        &    -4.76e+05    &     5.62e+05     \\\\\n",
       "\\textbf{area}                             &     244.1394  &       24.289     &    10.052  &         0.000        &      196.425    &      291.853     \\\\\n",
       "\\textbf{bedrooms}                         &    1.148e+05  &     7.26e+04     &     1.581  &         0.114        &    -2.78e+04    &     2.57e+05     \\\\\n",
       "\\textbf{bathrooms}                        &    9.877e+05  &     1.03e+05     &     9.555  &         0.000        &     7.85e+05    &     1.19e+06     \\\\\n",
       "\\textbf{stories}                          &    4.508e+05  &     6.42e+04     &     7.026  &         0.000        &     3.25e+05    &     5.77e+05     \\\\\n",
       "\\textbf{parking}                          &    2.771e+05  &     5.85e+04     &     4.735  &         0.000        &     1.62e+05    &     3.92e+05     \\\\\n",
       "\\textbf{mainroad\\_yes}                    &    4.213e+05  &     1.42e+05     &     2.962  &         0.003        &     1.42e+05    &     7.01e+05     \\\\\n",
       "\\textbf{guestroom\\_yes}                   &    3.005e+05  &     1.32e+05     &     2.282  &         0.023        &     4.18e+04    &     5.59e+05     \\\\\n",
       "\\textbf{basement\\_yes}                    &    3.501e+05  &      1.1e+05     &     3.175  &         0.002        &     1.33e+05    &     5.67e+05     \\\\\n",
       "\\textbf{hotwaterheating\\_yes}             &    8.554e+05  &     2.23e+05     &     3.833  &         0.000        &     4.17e+05    &     1.29e+06     \\\\\n",
       "\\textbf{airconditioning\\_yes}             &     8.65e+05  &     1.08e+05     &     7.983  &         0.000        &     6.52e+05    &     1.08e+06     \\\\\n",
       "\\textbf{prefarea\\_yes}                    &    6.515e+05  &     1.16e+05     &     5.632  &         0.000        &     4.24e+05    &     8.79e+05     \\\\\n",
       "\\textbf{furnishingstatus\\_semi-furnished} &   -4.634e+04  &     1.17e+05     &    -0.398  &         0.691        &    -2.75e+05    &     1.83e+05     \\\\\n",
       "\\textbf{furnishingstatus\\_unfurnished}    &   -4.112e+05  &     1.26e+05     &    -3.258  &         0.001        &    -6.59e+05    &    -1.63e+05     \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lclc}\n",
       "\\textbf{Omnibus:}       & 97.909 & \\textbf{  Durbin-Watson:     } &    1.209  \\\\\n",
       "\\textbf{Prob(Omnibus):} &  0.000 & \\textbf{  Jarque-Bera (JB):  } &  258.281  \\\\\n",
       "\\textbf{Skew:}          &  0.895 & \\textbf{  Prob(JB):          } & 8.22e-57  \\\\\n",
       "\\textbf{Kurtosis:}      &  5.859 & \\textbf{  Cond. No.          } & 3.49e+04  \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "%\\caption{OLS Regression Results}\n",
       "\\end{center}\n",
       "\n",
       "Notes: \\newline\n",
       " [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. \\newline\n",
       " [2] The condition number is large, 3.49e+04. This might indicate that there are \\newline\n",
       " strong multicollinearity or other numerical problems."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                  price   R-squared:                       0.682\n",
       "Model:                            OLS   Adj. R-squared:                  0.674\n",
       "Method:                 Least Squares   F-statistic:                     87.52\n",
       "Date:                Wed, 01 Nov 2023   Prob (F-statistic):          9.07e-123\n",
       "Time:                        20:56:38   Log-Likelihood:                -8331.5\n",
       "No. Observations:                 545   AIC:                         1.669e+04\n",
       "Df Residuals:                     531   BIC:                         1.675e+04\n",
       "Df Model:                          13                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "===================================================================================================\n",
       "                                      coef    std err          t      P>|t|      [0.025      0.975]\n",
       "---------------------------------------------------------------------------------------------------\n",
       "const                            4.277e+04   2.64e+05      0.162      0.872   -4.76e+05    5.62e+05\n",
       "area                              244.1394     24.289     10.052      0.000     196.425     291.853\n",
       "bedrooms                         1.148e+05   7.26e+04      1.581      0.114   -2.78e+04    2.57e+05\n",
       "bathrooms                        9.877e+05   1.03e+05      9.555      0.000    7.85e+05    1.19e+06\n",
       "stories                          4.508e+05   6.42e+04      7.026      0.000    3.25e+05    5.77e+05\n",
       "parking                          2.771e+05   5.85e+04      4.735      0.000    1.62e+05    3.92e+05\n",
       "mainroad_yes                     4.213e+05   1.42e+05      2.962      0.003    1.42e+05    7.01e+05\n",
       "guestroom_yes                    3.005e+05   1.32e+05      2.282      0.023    4.18e+04    5.59e+05\n",
       "basement_yes                     3.501e+05    1.1e+05      3.175      0.002    1.33e+05    5.67e+05\n",
       "hotwaterheating_yes              8.554e+05   2.23e+05      3.833      0.000    4.17e+05    1.29e+06\n",
       "airconditioning_yes               8.65e+05   1.08e+05      7.983      0.000    6.52e+05    1.08e+06\n",
       "prefarea_yes                     6.515e+05   1.16e+05      5.632      0.000    4.24e+05    8.79e+05\n",
       "furnishingstatus_semi-furnished -4.634e+04   1.17e+05     -0.398      0.691   -2.75e+05    1.83e+05\n",
       "furnishingstatus_unfurnished    -4.112e+05   1.26e+05     -3.258      0.001   -6.59e+05   -1.63e+05\n",
       "==============================================================================\n",
       "Omnibus:                       97.909   Durbin-Watson:                   1.209\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):              258.281\n",
       "Skew:                           0.895   Prob(JB):                     8.22e-57\n",
       "Kurtosis:                       5.859   Cond. No.                     3.49e+04\n",
       "==============================================================================\n",
       "\n",
       "Notes:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "[2] The condition number is large, 3.49e+04. This might indicate that there are\n",
       "strong multicollinearity or other numerical problems.\n",
       "\"\"\""
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据各个自变量在线性回归方程中的系数来看，模型预测以下因素的增加（或存在）会显著增加房屋价格：房屋面积、厕所数、楼层数、车库容量、位于主路、有客房、有地下室、有热水器、有空调、位于城市首选社区。\n",
    "\n",
    "线性回归模型预测以下因素的增加（或存在）会显著降低房屋价格：房屋未经装修，为毛坯房。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 要预测房价的房屋的信息：\n",
    "# 面积为6500平方英尺，有4个卧室、2个厕所，总共2层，不位于主路，无客人房，带地下室，有热水器，没有空调，车位数为2，位于城市首选社区，简装修"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>mainroad</th>\n",
       "      <th>guestroom</th>\n",
       "      <th>basement</th>\n",
       "      <th>hotwaterheating</th>\n",
       "      <th>airconditioning</th>\n",
       "      <th>parking</th>\n",
       "      <th>prefarea</th>\n",
       "      <th>furnishingstatus</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>no</td>\n",
       "      <td>no</td>\n",
       "      <td>yes</td>\n",
       "      <td>yes</td>\n",
       "      <td>no</td>\n",
       "      <td>2</td>\n",
       "      <td>yes</td>\n",
       "      <td>semi-furnished</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   area  bedrooms  bathrooms  stories mainroad guestroom basement  \\\n",
       "0  6500         4          2        2       no        no      yes   \n",
       "\n",
       "  hotwaterheating airconditioning  parking prefarea furnishingstatus  \n",
       "0             yes              no        2      yes   semi-furnished  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price_to_predict = pd.DataFrame({'area': [6500], 'bedrooms': [4], 'bathrooms': [2], \n",
    "                                 'stories': [2], 'mainroad': ['no'], 'guestroom': ['no'],\n",
    "                                 'basement': ['yes'], 'hotwaterheating': ['yes'],\n",
    "                                 'airconditioning': ['no'], 'parking': 2, 'prefarea': ['yes'],\n",
    "                                 'furnishingstatus': ['semi-furnished']})\n",
    "price_to_predict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们需要把分类变量的类型转换为Category，并且通过`categories`参数，让程序知道所有可能的分类值。这样做的原因是，预测数据包含的分类可能不全。我们需要确保引入虚拟变量的时候，不会漏掉某个或某些分类。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "price_to_predict['mainroad'] = pd.Categorical(price_to_predict['mainroad'], categories=['no', 'yes'])\n",
    "price_to_predict['guestroom'] = pd.Categorical(price_to_predict['guestroom'], categories=['no', 'yes'])\n",
    "price_to_predict['basement'] = pd.Categorical(price_to_predict['basement'], categories=['no', 'yes'])\n",
    "price_to_predict['hotwaterheating'] = pd.Categorical(price_to_predict['hotwaterheating'], categories=['no', 'yes'])\n",
    "price_to_predict['airconditioning'] = pd.Categorical(price_to_predict['airconditioning'], categories=['no', 'yes'])\n",
    "price_to_predict['prefarea'] = pd.Categorical(price_to_predict['prefarea'], categories=['no', 'yes'])\n",
    "price_to_predict['furnishingstatus'] = pd.Categorical(price_to_predict['furnishingstatus'], categories=['furnished', 'semi-furnished', 'unfurnished'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>area</th>\n",
       "      <th>bedrooms</th>\n",
       "      <th>bathrooms</th>\n",
       "      <th>stories</th>\n",
       "      <th>parking</th>\n",
       "      <th>mainroad_yes</th>\n",
       "      <th>guestroom_yes</th>\n",
       "      <th>basement_yes</th>\n",
       "      <th>hotwaterheating_yes</th>\n",
       "      <th>airconditioning_yes</th>\n",
       "      <th>prefarea_yes</th>\n",
       "      <th>furnishingstatus_semi-furnished</th>\n",
       "      <th>furnishingstatus_unfurnished</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6500</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   area  bedrooms  bathrooms  stories  parking  mainroad_yes  guestroom_yes  \\\n",
       "0  6500         4          2        2        2             0              0   \n",
       "\n",
       "   basement_yes  hotwaterheating_yes  airconditioning_yes  prefarea_yes  \\\n",
       "0             1                    1                    0             1   \n",
       "\n",
       "   furnishingstatus_semi-furnished  furnishingstatus_unfurnished  \n",
       "0                                1                             0  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price_to_predict = pd.get_dummies(price_to_predict, drop_first=True, \n",
    "                                  columns=['mainroad', 'guestroom',\n",
    "                                           'basement', 'hotwaterheating',\n",
    "                                           'airconditioning','prefarea', \n",
    "                                           'furnishingstatus'], dtype=int)\n",
    "price_to_predict.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [],
   "source": [
    "price_to_predict = price_to_predict.drop(['bedrooms', 'furnishingstatus_semi-furnished'], axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "shapes (1,11) and (14,) not aligned: 11 (dim 1) != 14 (dim 0)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[48], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m predicted_value \u001b[38;5;241m=\u001b[39m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpredict\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprice_to_predict\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m      2\u001b[0m predicted_value\n",
      "File \u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\statsmodels\\base\\model.py:1176\u001b[0m, in \u001b[0;36mResults.predict\u001b[1;34m(self, exog, transform, *args, **kwargs)\u001b[0m\n\u001b[0;32m   1129\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m   1130\u001b[0m \u001b[38;5;124;03mCall self.model.predict with self.params as the first argument.\u001b[39;00m\n\u001b[0;32m   1131\u001b[0m \n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m   1171\u001b[0m \u001b[38;5;124;03mreturned prediction.\u001b[39;00m\n\u001b[0;32m   1172\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m   1173\u001b[0m exog, exog_index \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_transform_predict_exog(exog,\n\u001b[0;32m   1174\u001b[0m                                                 transform\u001b[38;5;241m=\u001b[39mtransform)\n\u001b[1;32m-> 1176\u001b[0m predict_results \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpredict\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparams\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexog\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m   1177\u001b[0m \u001b[43m                                     \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   1179\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exog_index \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(predict_results,\n\u001b[0;32m   1180\u001b[0m                                           \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpredicted_values\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[0;32m   1181\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m predict_results\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n",
      "File \u001b[1;32m~\\AppData\\Local\\Programs\\Python\\Python311\\Lib\\site-packages\\statsmodels\\regression\\linear_model.py:411\u001b[0m, in \u001b[0;36mRegressionModel.predict\u001b[1;34m(self, params, exog)\u001b[0m\n\u001b[0;32m    408\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m exog \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m    409\u001b[0m     exog \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mexog\n\u001b[1;32m--> 411\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mexog\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparams\u001b[49m\u001b[43m)\u001b[49m\n",
      "\u001b[1;31mValueError\u001b[0m: shapes (1,11) and (14,) not aligned: 11 (dim 1) != 14 (dim 0)"
     ]
    }
   ],
   "source": [
    "predicted_value = model.predict(price_to_predict)\n",
    "predicted_value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
